On 8/3/2012 18:24, Marco van de Voort wrote:
EAGAIN generally means that you should try again. So repeat until
repeat
res:=dofunc;
err:=geterrno;
until (res<>-1) or ((err<>ESysEINTR) and (err<>ESysEAgain));
it is a workaround against potential deadlock between userland and kernel
iirc. Retrying means it can simple work.
should there be some sort of retry count or timing period in which to decide to
give up so that one doesn't retry forever? if yes, how might that be
accomplished? ;)
admittedly, i may have missed something in the ESysEINTR and ESysAgain portion
since i'm a new babe with regards to signaling like that... but i just had to
ask, ya know? ;)
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal