[Issue 5157] thread_joinall() looks like it doesn't actually join all
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Nov 3 07:56:20 PDT 2010
http://d.puremagic.com/issues/show_bug.cgi?id=5157
Steven Schveighoffer <schveiguy at yahoo.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |schveiguy at yahoo.com
Resolution| |INVALID
--- Comment #1 from Steven Schveighoffer <schveiguy at yahoo.com> 2010-11-03 07:55:06 PDT ---
The original code looks correct to me. Rewritten in pseudocode:
while(true)
{
nonDaemon = null;
assign nonDaemon to first non-daemon thread in the list of threads;
if(nonDaemon not found)
// this means there are no non-daemon threads left
return;
nonDaemon.join();
}
The reason it is done this way instead of the way you suggest is because the
foreach is synchronized on a lock (to prevent threads coming/going while
iterating). So you don't want to call join while inside the foreach loop.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list