Author: ed
Date: Sun Nov 14 18:42:39 2010
New Revision: 215310
URL: http://svn.freebsd.org/changeset/base/215310

Log:
  Always set errno to a sane value when pututxline(3) fails.
  
  For example, it will now return ESRCH when trying to replace a
  nonexistent entry with DEAD_PROCESS.

Modified:
  head/lib/libc/gen/pututxline.c

Modified: head/lib/libc/gen/pututxline.c
==============================================================================
--- head/lib/libc/gen/pututxline.c      Sun Nov 14 18:24:12 2010        
(r215309)
+++ head/lib/libc/gen/pututxline.c      Sun Nov 14 18:42:39 2010        
(r215310)
@@ -31,6 +31,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/endian.h>
 #include <sys/stat.h>
 #include <sys/uio.h>
+#include <errno.h>
 #include <fcntl.h>
 #include <stdio.h>
 #include <string.h>
@@ -53,6 +54,7 @@ futx_open(const char *file)
        /* Safety check: never use broken files. */
        if (_fstat(fd, &sb) != -1 && sb.st_size % sizeof(struct futx) != 0) {
                _close(fd);
+               errno = EINVAL;
                return (NULL);
        }
        
@@ -142,6 +144,7 @@ utx_active_remove(struct futx *fu)
        }
 
        fclose(fp);
+       errno = ESRCH;
        return (1);
 }
 
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to