On Fri, Nov 7, 2008 at 9:38 AM, David Schwartz wrote:

> Sounds like the interface is badly thought out. Perhaps the best
> "reasonable
> compromise", short of changing the interface, is to set a limit (maybe 3
> seconds or so) to how long RANG_egd can block (this would mean it will have
> to call 'poll' or the like). Yucky to do portably.

This may be a naive suggestion, but what about calling setsockopt() send and
receive timeouts to some value by default? I'm just not really a
networking-savvy guy so I don't know if this would be sufficiently
non-blocking for these purposes. In theory the prngd and/or EGD should not
be blocking (for a signficant time) ever according to their design specs.