home *** CD-ROM | disk | FTP | other *** search
- package netscape.netcast;
-
- import marimba.castanet.util.ThreadPool;
- import netscape.security.PrivilegeManager;
- import netscape.security.Target;
-
- final class NSThreadPool extends ThreadPool {
- NSThreadPool(String name, int maxThreads) {
- super(name, maxThreads);
- }
-
- public void run() {
- PrivilegeManager privMgr = PrivilegeManager.getPrivilegeManager();
- if (privMgr != null) {
- PrivilegeManager.enablePrivilege("UniversalThreadAccess");
- PrivilegeManager.enablePrivilege("UniversalThreadGroupAccess");
- }
-
- super.run();
- }
-
- public synchronized void add(Runnable client, Object unit, String name, int priority) {
- PrivilegeManager privMgr = PrivilegeManager.getPrivilegeManager();
- if (privMgr != null) {
- PrivilegeManager.enablePrivilege("UniversalThreadAccess");
- PrivilegeManager.enablePrivilege("UniversalThreadGroupAccess");
- }
-
- super.add(client, unit, name, priority);
- }
-
- protected void runClient(Runnable client) {
- PrivilegeManager privMgr = PrivilegeManager.getPrivilegeManager();
- if (privMgr != null) {
- Target target = Target.findTarget("MarimbaInternalTarget");
- if (target != null) {
- privMgr.enablePrivilege(target);
- }
- }
-
- client.run();
- }
- }
-