diff options
author | Austin Foxley <austinf@cetoncorp.com> | 2009-10-17 14:25:01 -0700 |
---|---|---|
committer | Austin Foxley <austinf@cetoncorp.com> | 2009-10-17 14:25:01 -0700 |
commit | 9a737ab7a40984cfdfffd014562a220a3736a10f (patch) | |
tree | 51fe4682638ffec59b2bd41d67df82ec60d6b48d /libc/misc/utmp/wtent.c | |
parent | cfbc0081078b5a41895a2ad689627bf94eeacb43 (diff) |
use *_not_cancel variants to avoid accidental cancellations with nptl
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Diffstat (limited to 'libc/misc/utmp/wtent.c')
-rw-r--r-- | libc/misc/utmp/wtent.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libc/misc/utmp/wtent.c b/libc/misc/utmp/wtent.c index e73d99feb..5ab743d9b 100644 --- a/libc/misc/utmp/wtent.c +++ b/libc/misc/utmp/wtent.c @@ -13,6 +13,7 @@ #include <utmp.h> #include <fcntl.h> #include <sys/file.h> +#include <not-cancel.h> #if 0 /* This is enabled in uClibc/libutil/logwtmp.c */ @@ -36,12 +37,12 @@ void updwtmp(const char *wtmp_file, const struct utmp *lutmp) { int fd; - fd = open(wtmp_file, O_APPEND | O_WRONLY); + fd = open_not_cancel(wtmp_file, O_APPEND | O_WRONLY, 0); if (fd >= 0) { if (lockf(fd, F_LOCK, 0) == 0) { - write(fd, lutmp, sizeof(*lutmp)); + write_not_cancel(fd, lutmp, sizeof(struct utmp)); lockf(fd, F_ULOCK, 0); - close(fd); + close_not_cancel_no_status(fd); } } } |