Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2008-04-01 14:22:33 +0400
committerCorinna Vinschen <corinna@vinschen.de>2008-04-01 14:22:33 +0400
commitfabfb1a1ee52bc5ff248e708de5e7dc56cd6a170 (patch)
tree2d471f2e6ebf7757d28a889cec5ec987fdb4e00a /winsup/cygwin/libc
parent636c94d8539476b691bdfff748282027a970725b (diff)
Throughout, call fcntl64 instead of fcntl or fcntl_worker.
* fcntl.cc (fcntl_worker): Remove. (fcntl64): Add fault handler. Move fcntl_worker stuff here. Add case for locking and call fhandler's lock method directly. Make sure that F_FLOCK flag isn't set in lock call. (_fcntl): Add fault handler. * fhandler.cc (fhandler_base::fcntl): Drop lock cases. * flock.cc (flock): Add fault handler. Simplify code. Call fhandlers lock method directly instead of fcntl_worker. Add debug output. (lockf): Add fault handler. Call fhandlers lock method directly instead of fcntl_worker. Add debug output. * winsup.h (fcntl_worker): Drop declaration. (fcntl64): Declare.
Diffstat (limited to 'winsup/cygwin/libc')
-rw-r--r--winsup/cygwin/libc/minires.c2
-rw-r--r--winsup/cygwin/libc/rcmd.cc2
2 files changed, 2 insertions, 2 deletions
diff --git a/winsup/cygwin/libc/minires.c b/winsup/cygwin/libc/minires.c
index f11ff418b..7d0a6ab06 100644
--- a/winsup/cygwin/libc/minires.c
+++ b/winsup/cygwin/libc/minires.c
@@ -427,7 +427,7 @@ int res_nsend( res_state statp, const unsigned char * MsgPtr,
return -1;
}
/* Set close on exec flag */
- if (fcntl(statp->sockfd, F_SETFD, 1) == -1) {
+ if (fcntl64(statp->sockfd, F_SETFD, 1) == -1) {
DPRINTF(debug, "fcntl: %s\n",
strerror(errno));
statp->res_h_errno = NETDB_INTERNAL;
diff --git a/winsup/cygwin/libc/rcmd.cc b/winsup/cygwin/libc/rcmd.cc
index 0e484c515..843a21af7 100644
--- a/winsup/cygwin/libc/rcmd.cc
+++ b/winsup/cygwin/libc/rcmd.cc
@@ -203,7 +203,7 @@ cygwin_rcmd_af(char **ahost, in_port_t rport, const char *locuser,
NULL);
return (-1);
}
- fcntl(s, F_SETOWN, pid);
+ fcntl64(s, F_SETOWN, pid);
if (cygwin_connect(s, ai->ai_addr, ai->ai_addrlen) >= 0)
break;
(void)close(s);