[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] libxen-3.0 (libxc rewrite)



On Tue, Mar 22, 2005 at 09:04:47AM -0600, Anthony Liguori wrote:
> Christian Limpach wrote:
> >On Mon, 21 Mar 2005 15:25:09 -0600, Anthony Liguori <aliguori@xxxxxxxxxx> 
> >wrote:
> >>o Provide consistent error semantics for all functions (-errno is
> >>returned on error).
> >Why -errno?  What's wrong with regular errno, like used everywhere
> >else in userspace?
> >
> errno's a global variable and it's way to easy to lose it's value.  For 
> instance:
> 
> if (read(fd, buffer, sizeof(buffer)) == -1) {
>    close(fd);
>    perror("read");
> }
> 
> Doesn't do what you'd expect.  It gets particularly hairy when you're 
> not sure what functions modify errno and which functions don't.

I think it does what I expect.  And it seems to work for a lot of
libraries just fine.  By not using the global errno, you're preventing
people from using perror, warn, err and the likes.  Also some of the
interfaces in your library are slightly awkward because you're wasting
the return parameter to return the failure reason.

Even if we don't use the global errno, I'm still wondering why you're
returning -errno and not errno?

    christian



-------------------------------------------------------
This SF.net email is sponsored by: 2005 Windows Mobile Application Contest
Submit applications for Windows Mobile(tm)-based Pocket PCs or Smartphones
for the chance to win $25,000 and application distribution. Enter today at
http://ads.osdn.com/?ad_id=6882&alloc_id=15148&op=click
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.