GC Bug? Error: Unable to accept socket connection: Interrupted system call

Sean Kelly sean at invisibleduck.org
Sat Jun 7 19:09:31 PDT 2008


== Quote from Huang Guan (gdxxhg at gmail.com)'s article
> I got this error under Linux while I didn't find it under Windows.
> This is the code:
> private import std.thread, std.stdio, std.gc, std.c.time, std.socket;
> Socket s;
> int test(void* arg){
> 	s.bind( new InternetAddress( 8888 ) );
> 	s.listen(10);
> 	Socket a = s.accept();
> 	// never reach

Are you saying the thread never completes?  I might expect s.accept()
to return prematurely if a GC cycle occurs, but I wouldn't expect it to
lock up.  But then I've never looked at std.socket, so perhaps there's
a bug in the code.  I can assure you that Tango doesn't have this
problem :p


Sean



More information about the Digitalmars-d mailing list