X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/qmail/blobdiff_plain/2117e02ec495fdfd6e96b39778b701a5bcff8aa5..212b6f5da7c68d4577de2855da3c57ecf476dc96:/timeoutwrite.c diff --git a/timeoutwrite.c b/timeoutwrite.c index 8a09c8a..516d283 100644 --- a/timeoutwrite.c +++ b/timeoutwrite.c @@ -3,23 +3,20 @@ #include "error.h" #include "readwrite.h" -int timeoutwrite(fdt,buf,len) int fdt; char *buf; int len; +int timeoutwrite(t,fd,buf,len) int t; int fd; char *buf; int len; { fd_set wfds; struct timeval tv; - int fd; - tv.tv_sec = (fdt >> 10); + tv.tv_sec = t; tv.tv_usec = 0; - fd = (fdt & 1023); FD_ZERO(&wfds); FD_SET(fd,&wfds); if (select(fd + 1,(fd_set *) 0,&wfds,(fd_set *) 0,&tv) == -1) return -1; if (FD_ISSET(fd,&wfds)) return write(fd,buf,len); - shutdown(fd,1); errno = error_timeout; return -1; }