[Vm-dev] Cog: invalid nanosleep argument (i.e. socket errors)
eliot.miranda at gmail.com
Fri Aug 13 19:20:13 UTC 2010
On Fri, Aug 13, 2010 at 7:38 AM, Henrik Johansen <
henrik.s.johansen at veloxit.no> wrote:
> I think I figured out why Cog some times terminates when downloading large
> files on OSX;
> An oversleep which is interrupted can be returned as a t_time struct with
> tv_sec -1 and tv_nsec close to 999999999.
> The while check is
> nanosleep (&naptime, &naptime) == -1 && naptime.tv_sec > 0 1||
> naptime.tv_nsec > MINSLEEPNS
> or so, so when an interrupt is encountered which has tv_sec = -1, you will
> get the invalid argument error.
> rewriting it to
> naptime.tvsec > -1 && naptime.tv_nsec > MINSLEEPNS && nanosleep(&naptime,
> &naptime) == -1
> I no longer had crashes in 99% of hte cases when evaluating the following
> HTTPSocket httpGetDocument: '
> I've attached the sqUnixHeartbeat.c.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Vm-dev