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

Reply via email to