Hi Marc,

Given something like a call to EIO_OPEN, how should we be checking for an 
error, 
would I be right in thinking that we should look at ev_set_syserr_cb?

because if error handling can be improved, I'd be all for learning how to 
improve it.

Thanks,
Micheil Smith
--
BrandedCode.com

On 30/10/2010, at 12:30 AM, Marc Lehmann wrote:

> On Fri, Oct 29, 2010 at 02:40:51AM -0700, Liam <[email protected]> 
> wrote:
>> The issue is... because sendfile(2) on Linux and FreeBSD succeed but set an
>> erroneous errno, an app which simply checks the eio req->errorno to decide
>> if there's an error may fail. Node.js does this as it provides callbacks
>> with either an error or data, never both.
> 
> Then node.js is horribly broken on any OS, with any syscall, not just
> sendfile.
> 
>> Since eio is supports multiple OSes, one might expect it to hide OS
>> eccentricities?
> 
> It works like any other syscall actually, no syscall clears errno, node.js is
> simply broken if it uses errno to test for failure.
> 
> To test for failure, one has to check the return value of the call. errno
> only tells you _how_ something failed, not _whether_ something failed.
> 
> And that's the same for any syscall on any OS.
> 
> It would be rather eccentric if it did, in fact :)
> 
> -- 
>                The choice of a       Deliantra, the free code+content MORPG
>      -----==-     _GNU_              http://www.deliantra.net
>      ----==-- _       generation
>      ---==---(_)__  __ ____  __      Marc Lehmann
>      --==---/ / _ \/ // /\ \/ /      [email protected]
>      -=====/_/_//_/\_,_/ /_/\_\
> 
> _______________________________________________
> libev mailing list
> [email protected]
> http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev


_______________________________________________
libev mailing list
[email protected]
http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev

Reply via email to