Network server design question

Johannes Pfau nospam at example.com
Sun Aug 4 23:36:14 PDT 2013


Am Sun, 04 Aug 2013 22:59:04 +0200
schrieb Marek Janukowicz <marek at janukowicz.net>:

> >> - I already have problems with "interrupted system call" on
> >> Socket.select due to GC kicking in; I'm restarting the call
> >> manually, but TBH it sucks I have to do anything about that and
> >> would suck even more to do that with 50 or so threads
> > 
> > I'm not sure if that problem will surface with blocking reads.
> 
> Unfortunately it will (it precisely happens with blocking calls).
> 
> Thanks for your input, which shed some more light for me and also
> allowed me to explain the whole thing a bit more.
> 

This is a bug in std.socket BTW. Blocking calls will get interrupted by
the GC - there's no way to avoid that - but std.socket should handle
this internally and just retry the interrupted operation. Please file a
bug report about this.

(Partial writes is another issue that could/should be handled in
std.socket so the user doesn't have to care about it)


More information about the Digitalmars-d mailing list