svn commit: r215310 - head/lib/libc/gen
Ed Schouten
ed at FreeBSD.org
Sun Nov 14 18:42:39 UTC 2010
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);
}
More information about the svn-src-head
mailing list