diff options
author | Ulrich Drepper <drepper@redhat.com> | 2003-09-04 14:08:24 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2003-09-04 14:08:24 +0000 |
commit | ce42435cab474eff0b7a8470d59bb484858a0863 (patch) | |
tree | e01965b8905deb70308aba0829853886ad43faa9 /resolv/res_init.c | |
parent | a452e4e6294ffb6d7362215cb0b10896e8a7631f (diff) | |
download | glibc-ce42435cab474eff0b7a8470d59bb484858a0863.tar.gz |
Update.
* sysdeps/generic/utmp_file.c: Use not-cancelable syscalls all
over the place. It would be allowed to have these fucntions as
cancellation points but the cleanup would be ugly and a lot of
work.
* sysdeps/generic/not-cancel.h (fcntl_not_cancel): Define.
* sysdeps/unix/sysv/linux/not-cancel.h (fcntl_not_cancel): Define.
* include/fcntl.h (__fcntl_nocancel): Declare.
* sysdeps/unix/sysv/linux/fcntl.c: New file.
* sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl): Only enable
cancellation if absolutely needed.
(__fcntl_nocancel): Define.
* posix/unistd.h (gethostid): Remove __THROW. Clarify comment.
* sysdeps/unix/sysv/linux/Makefile (CFLAGS-gethostid.c): Add
-fexceptions.
* sysdeps/unix/sysv/linux/gethostid.c (gethostid): Use
extend_alloca.
* resolv/res_init.c (__res_nclose): Use close_not_cancel_no_status
instead of __close.
Diffstat (limited to 'resolv/res_init.c')
-rw-r--r-- | resolv/res_init.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/resolv/res_init.c b/resolv/res_init.c index 61820e6e0b..e563dcfb03 100644 --- a/resolv/res_init.c +++ b/resolv/res_init.c @@ -86,6 +86,8 @@ static const char rcsid[] = "$BINDId: res_init.c,v 8.16 2000/05/09 07:10:12 vixi #include <string.h> #include <unistd.h> +#include <not-cancel.h> + /* Options. Should all be left alone. */ #define RESOLVSORT #define RFC1535 @@ -541,7 +543,7 @@ res_nclose(res_state statp) { int ns; if (statp->_vcsock >= 0) { - (void) __close(statp->_vcsock); + close_not_cancel_no_status(statp->_vcsock); statp->_vcsock = -1; statp->_flags &= ~(RES_F_VC | RES_F_CONN); } @@ -552,7 +554,7 @@ res_nclose(res_state statp) { #endif if (statp->_u._ext.nsaddrs[ns] && statp->_u._ext.nssocks[ns] != -1) { - (void) __close(statp->_u._ext.nssocks[ns]); + close_not_cancel_no_status(statp->_u._ext.nssocks[ns]); statp->_u._ext.nssocks[ns] = -1; } statp->_u._ext.nsinit = 0; |