aboutsummaryrefslogtreecommitdiff
path: root/misc
diff options
context:
space:
mode:
Diffstat (limited to 'misc')
-rw-r--r--misc/daemon.c7
-rw-r--r--misc/sys/mman.h7
-rw-r--r--misc/sys/select.h16
-rw-r--r--misc/sys/syslog.h29
-rw-r--r--misc/sys/uio.h18
5 files changed, 53 insertions, 24 deletions
diff --git a/misc/daemon.c b/misc/daemon.c
index 8cffdde..bc93956 100644
--- a/misc/daemon.c
+++ b/misc/daemon.c
@@ -31,12 +31,14 @@
static char sccsid[] = "@(#)daemon.c 8.1 (Berkeley) 6/4/93";
#endif /* LIBC_SCCS and not lint */
+#include <errno.h>
#include <fcntl.h>
#include <paths.h>
#include <unistd.h>
#include <sys/stat.h>
#include <device-nrs.h>
+#include <not-cancel.h>
int
daemon(nochdir, noclose)
@@ -59,7 +61,8 @@ daemon(nochdir, noclose)
if (!nochdir)
(void)__chdir("/");
- if (!noclose && (fd = __open(_PATH_DEVNULL, O_RDWR, 0)) != -1) {
+ if (!noclose
+ && (fd = open_not_cancel(_PATH_DEVNULL, O_RDWR, 0)) != -1) {
struct stat64 st;
if (__builtin_expect (__fxstat64 (_STAT_VER, fd, &st), 0) == 0
@@ -74,7 +77,7 @@ daemon(nochdir, noclose)
if (fd > 2)
(void)__close (fd);
} else {
- (void)__close (fd);
+ close_not_cancel_no_status (fd);
return -1;
}
}
diff --git a/misc/sys/mman.h b/misc/sys/mman.h
index 8ca6539..5e37278 100644
--- a/misc/sys/mman.h
+++ b/misc/sys/mman.h
@@ -83,8 +83,11 @@ extern int mprotect (void *__addr, size_t __len, int __prot) __THROW;
/* Synchronize the region starting at ADDR and extending LEN bytes with the
file it maps. Filesystem operations on a file being mapped are
- unpredictable before this is done. Flags are from the MS_* set. */
-extern int msync (void *__addr, size_t __len, int __flags) __THROW;
+ unpredictable before this is done. Flags are from the MS_* set.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
+extern int msync (void *__addr, size_t __len, int __flags);
#ifdef __USE_BSD
/* Advise the system about particular usage patterns the program follows
diff --git a/misc/sys/select.h b/misc/sys/select.h
index dc58ec6..2a40843 100644
--- a/misc/sys/select.h
+++ b/misc/sys/select.h
@@ -1,5 +1,5 @@
/* `fd_set' type and related macros, and `select'/`pselect' declarations.
- Copyright (C) 1996,97,98,99,2000,01,02 Free Software Foundation, Inc.
+ Copyright (C) 1996,97,98,99,2000,01,02,2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -102,21 +102,27 @@ __BEGIN_DECLS
readiness, in WRITEFDS (if not NULL) for write readiness, and in EXCEPTFDS
(if not NULL) for exceptional conditions. If TIMEOUT is not NULL, time out
after waiting the interval specified therein. Returns the number of ready
- descriptors, or -1 for errors. */
+ descriptors, or -1 for errors.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
extern int select (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
- struct timeval *__restrict __timeout) __THROW;
+ struct timeval *__restrict __timeout);
#ifdef __USE_XOPEN2K
/* Same as above only that the TIMEOUT value is given with higher
resolution and a sigmask which is been set temporarily. This version
- should be used. */
+ should be used.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
extern int pselect (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
const struct timespec *__restrict __timeout,
- const __sigset_t *__restrict __sigmask) __THROW;
+ const __sigset_t *__restrict __sigmask);
#endif
__END_DECLS
diff --git a/misc/sys/syslog.h b/misc/sys/syslog.h
index 940ee2d..8d501cf 100644
--- a/misc/sys/syslog.h
+++ b/misc/sys/syslog.h
@@ -168,22 +168,35 @@ CODE facilitynames[] =
__BEGIN_DECLS
-/* Close desriptor used to write to system logger. */
-extern void closelog (void) __THROW;
+/* Close desriptor used to write to system logger.
-/* Open connection to system logger. */
-extern void openlog (__const char *__ident, int __option, int __facility)
- __THROW;
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern void closelog (void);
+
+/* Open connection to system logger.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern void openlog (__const char *__ident, int __option, int __facility);
/* Set the log mask level. */
extern int setlogmask (int __mask) __THROW;
-/* Generate a log message using FMT string and option arguments. */
-extern void syslog (int __pri, __const char *__fmt, ...) __THROW
+/* Generate a log message using FMT string and option arguments.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern void syslog (int __pri, __const char *__fmt, ...)
__attribute__ ((__format__(__printf__, 2, 3)));
#ifdef __USE_BSD
-/* Generate a log message using FMT and using arguments pointed to by AP. */
+/* Generate a log message using FMT and using arguments pointed to by AP.
+
+ This function is not part of POSIX and therefore no official
+ cancellation point. But due to similarity with an POSIX interface
+ or due to the implementation it is a cancellation point and
+ therefore not marked with __THROW. */
extern void vsyslog (int __pri, __const char *__fmt, __gnuc_va_list __ap)
__THROW __attribute__ ((__format__(__printf__, 2, 0)));
#endif
diff --git a/misc/sys/uio.h b/misc/sys/uio.h
index 4b31380..53add9f 100644
--- a/misc/sys/uio.h
+++ b/misc/sys/uio.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 96, 97, 98, 99 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 96, 97, 98, 99, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -33,17 +33,21 @@ __BEGIN_DECLS
buffers described by VECTOR, which is a vector of COUNT `struct iovec's.
The buffers are filled in the order specified.
Operates just like `read' (see <unistd.h>) except that data are
- put in VECTOR instead of a contiguous buffer. */
-extern ssize_t readv (int __fd, __const struct iovec *__vector, int __count)
- __THROW;
+ put in VECTOR instead of a contiguous buffer.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
+extern ssize_t readv (int __fd, __const struct iovec *__vector, int __count);
/* Write data pointed by the buffers described by VECTOR, which
is a vector of COUNT `struct iovec's, to file descriptor FD.
The data is written in the order specified.
Operates just like `write' (see <unistd.h>) except that the data
- are taken from VECTOR instead of a contiguous buffer. */
-extern ssize_t writev (int __fd, __const struct iovec *__vector, int __count)
- __THROW;
+ are taken from VECTOR instead of a contiguous buffer.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
+extern ssize_t writev (int __fd, __const struct iovec *__vector, int __count);
__END_DECLS