[Issue 649] New: format() hangs in thread
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Dec 4 10:23:56 PST 2006
http://d.puremagic.com/issues/show_bug.cgi?id=649
Summary: format() hangs in thread
Product: D
Version: 0.176
Platform: PC
OS/Version: Linux
Status: NEW
Severity: normal
Priority: P2
Component: Phobos
AssignedTo: bugzilla at digitalmars.com
ReportedBy: korslund at gmail.com
The following thread program hangs upon calling format() from a thread. The
call to sleep() is to make sure that 't' is deleted before the thread exits.
import std.thread;
import std.string;
extern(C) uint sleep(uint secs);
class Test
{
Thread thr;
int printStats()
{
sleep(1);
format(1); // Program hangs at this point
return 0;
}
this()
{
thr = new Thread(&printStats);
thr.start();
}
~this()
{
thr.wait();
}
}
void main()
{
Test t = new Test();
delete t;
}
The following things will prevent the bug from occuring:
- remove the call to format()
- make the thread finish before 't' is deleted
- remove the call to thr.wait() from the destructor, or call it from
somewhere else
Nick
--
More information about the Digitalmars-d-bugs
mailing list