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.
This commit is contained in:
		| @@ -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); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user