home *** CD-ROM | disk | FTP | other *** search
/ Australian PC Authority 1999 May / may1999.iso / INTERNET / COMMUNIC / NETCAST.Z / marimb10.jar / netscape / netcast / NSThreadPool.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-02-25  |  1.5 KB  |  44 lines

  1. package netscape.netcast;
  2.  
  3. import marimba.castanet.util.ThreadPool;
  4. import netscape.security.PrivilegeManager;
  5. import netscape.security.Target;
  6.  
  7. final class NSThreadPool extends ThreadPool {
  8.    NSThreadPool(String name, int maxThreads) {
  9.       super(name, maxThreads);
  10.    }
  11.  
  12.    public void run() {
  13.       PrivilegeManager privMgr = PrivilegeManager.getPrivilegeManager();
  14.       if (privMgr != null) {
  15.          PrivilegeManager.enablePrivilege("UniversalThreadAccess");
  16.          PrivilegeManager.enablePrivilege("UniversalThreadGroupAccess");
  17.       }
  18.  
  19.       super.run();
  20.    }
  21.  
  22.    public synchronized void add(Runnable client, Object unit, String name, int priority) {
  23.       PrivilegeManager privMgr = PrivilegeManager.getPrivilegeManager();
  24.       if (privMgr != null) {
  25.          PrivilegeManager.enablePrivilege("UniversalThreadAccess");
  26.          PrivilegeManager.enablePrivilege("UniversalThreadGroupAccess");
  27.       }
  28.  
  29.       super.add(client, unit, name, priority);
  30.    }
  31.  
  32.    protected void runClient(Runnable client) {
  33.       PrivilegeManager privMgr = PrivilegeManager.getPrivilegeManager();
  34.       if (privMgr != null) {
  35.          Target target = Target.findTarget("MarimbaInternalTarget");
  36.          if (target != null) {
  37.             privMgr.enablePrivilege(target);
  38.          }
  39.       }
  40.  
  41.       client.run();
  42.    }
  43. }
  44.