----- Original Message ----- From: "Remy Maucherat" <[EMAIL PROTECTED]> To: "Tomcat Developers List" <[EMAIL PROTECTED]> Sent: Thursday, December 25, 2003 1:15 AM Subject: Re: cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/threads ThreadPool.java
> [EMAIL PROTECTED] wrote: > > billbarker 2003/12/24 19:08:31 > > > > Modified: util/java/org/apache/tomcat/util/threads ThreadPool.java > > Log: > > Fix potential race condition. > > > > You'll need some pretty high-end hardware to see this in the real world, but it's still technically a bug. > > When can it occur, and what does the problem do ? All calls to > openThreads are synced on the pool, so new threads should be created > sequentially. > I was thinking that on a big enough SMP machine it would be possible to check noThreadData before the constructor exists. Of course, it's not since the check is after the wait(), and notify() can't be called until the constructor exits. I realized this about half an hour after the commit, but it didn't seem worth reverting. I can revert it if people want. > > Revision Changes Path > > 1.19 +1 -1 jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/threads/ThreadPoo l.java > > > > Index: ThreadPool.java > > =================================================================== > > RCS file: /home/cvs/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/threads /ThreadPool.java,v > > retrieving revision 1.18 > > retrieving revision 1.19 > > diff -u -r1.18 -r1.19 > > --- ThreadPool.java 6 Nov 2003 19:05:23 -0000 1.18 > > +++ ThreadPool.java 25 Dec 2003 03:08:31 -0000 1.19 > > @@ -638,9 +638,9 @@ > > t = new ThreadWithAttributes(p, this); > > t.setDaemon(true); > > t.setName(p.getName() + "-Processor" + p.getSequence()); > > - t.start(); > > p.addThread( t, this ); > > noThData=true; > > + t.start(); > > } > > > > public void run() { > > Rémy > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] >
This message is intended only for the use of the person(s) listed above as the intended recipient(s), and may contain information that is PRIVILEGED and CONFIDENTIAL. If you are not an intended recipient, you may not read, copy, or distribute this message or any attachment. If you received this communication in error, please notify us immediately by e-mail and then delete all copies of this message and any attachments. In addition you should be aware that ordinary (unencrypted) e-mail sent through the Internet is not secure. Do not send confidential or sensitive information, such as social security numbers, account numbers, personal identification numbers and passwords, to us via ordinary (unencrypted) e-mail.
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]