On Thursday, March 14, 2013 4:44:20 am Pawel Jakub Dawidek wrote:
> On Thu, Mar 14, 2013 at 08:28:25AM +0100, Dirk Engling wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > 
> > On 13.03.13 23:08, Pawel Jakub Dawidek wrote:
> > 
> > > I think I considered something similar at first, but the change I 
> > > proposed was optimal, IMHO at the cost of producing pretty large
> > > diff, because of indentation change. But to be sure, can you send a
> > > patch of your proposed change?
> > 
> > http://erdgeist.org/arts/software/Code/pidfile.c.diff
> 
> Right. Your patch assumes EWOULDBLOCK is equal to EAGAIN, which is true
> on FreeBSD, but is not portable. Also in case pidptr is NULL you compare
> errno three times instead of just one (not a big deal of course, just
> something that could be done a bit more optimal:)).

Geeze, why not just add an else.  That's the really short diff:

Index: pidfile.c
===================================================================
--- pidfile.c   (revision 248162)
+++ pidfile.c   (working copy)
@@ -140,7 +140,8 @@ pidfile_open(const char *path, mode_t mode, pid_t
                                *pidptr = -1;
                        if (errno == 0 || errno == EAGAIN)
                                errno = EEXIST;
-               }
+               } else if (errno == EWOULDBLOCK)
+                       errno = EEXIST;
                free(pfh);
                return (NULL);
        }

-- 
John Baldwin
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to