src/share/classes/com/sun/jndi/ldap/LdapPoolManager.java
Print this page
*** 37,46 ****
--- 37,47 ----
import java.security.AccessController;
import java.security.PrivilegedAction;
import com.sun.jndi.ldap.pool.PoolCleaner;
import com.sun.jndi.ldap.pool.Pool;
+ import sun.misc.InnocuousThread;
/**
* Contains utilities for managing connection pools of LdapClient.
* Contains method for
* - checking whether attempted connection creation may be pooled
*** 161,171 ****
}
}
if (idleTimeout > 0) {
// Create cleaner to expire idle connections
! new PoolCleaner(idleTimeout, pools).start();
}
if (debug) {
showStats(System.err);
}
--- 162,182 ----
}
}
if (idleTimeout > 0) {
// Create cleaner to expire idle connections
! PrivilegedAction<Void> pa = new PrivilegedAction<Void>() {
! public Void run() {
! Thread t = InnocuousThread.newSystemThread(
! "LDAP PoolCleaner",
! new PoolCleaner(idleTimeout, pools));
! assert t.getContextClassLoader() == null;
! t.setDaemon(true);
! t.start();
! return null;
! }};
! AccessController.doPrivileged(pa);
}
if (debug) {
showStats(System.err);
}