Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:11.4
sendmail
sendmail-8.13.5-select.dif
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File sendmail-8.13.5-select.dif of Package sendmail
--- libmilter/comm.c +++ libmilter/comm.c 2006-03-20 14:05:17.000000000 +0100 @@ -80,8 +80,11 @@ i = 0; for (;;) { + struct timeval tv; + tv.tv_sec = timeout->tv_sec; + tv.tv_usec = timeout->tv_usec; FD_RD_INIT(sd, rds, excs); - ret = FD_RD_READY(sd, rds, excs, timeout); + ret = FD_RD_READY(sd, rds, excs, &tv); if (ret == 0) break; else if (ret < 0) @@ -153,8 +156,11 @@ i = 0; for (;;) { + struct timeval tv; + tv.tv_sec = timeout->tv_sec; + tv.tv_usec = timeout->tv_usec; FD_RD_INIT(sd, rds, excs); - ret = FD_RD_READY(sd, rds, excs, timeout); + ret = FD_RD_READY(sd, rds, excs, &tv); if (ret == 0) break; else if (ret < 0) @@ -253,6 +259,8 @@ written = 0; for (;;) { + struct timeval tv; + while (iovcnt > 0 && iov[0].iov_len == 0) { iov++; @@ -269,8 +277,10 @@ ** FD_SETSIZE is checked when socket is created. */ + tv.tv_sec = timeout->tv_sec; + tv.tv_usec = timeout->tv_usec; FD_WR_INIT(fd, wrs); - i = FD_WR_READY(fd, wrs, timeout); + i = FD_WR_READY(fd, wrs, &tv); if (i == 0) return MI_FAILURE; if (i < 0) --- libmilter/listener.c +++ libmilter/listener.c 2006-03-20 14:02:03.000000000 +0100 @@ -670,12 +670,12 @@ int rs = 0; \ struct timeval st; \ \ - st.tv_sec = (s); \ - st.tv_usec = 0; \ - if (st.tv_sec > 0) \ + if ((s) > 0) \ { \ for (;;) \ { \ + st.tv_sec = (s); \ + st.tv_usec = 0; \ rs = select(0, NULL, NULL, NULL, &st); \ if (rs < 0 && errno == EINTR) \ continue; \ --- libsm/local.h +++ libsm/local.h 2006-03-20 14:02:03.000000000 +0100 @@ -255,8 +255,11 @@ return SM_IO_EOF; \ do \ { \ + struct timeval tv; \ + tv.tv_sec = sm_io_to.tv_sec; \ + tv.tv_usec = sm_io_to.tv_usec; \ sm_io_to_sel = select((fd) + 1, NULL, &sm_io_to_mask, \ - &sm_io_x_mask, &sm_io_to); \ + &sm_io_x_mask, &tv); \ } while (sm_io_to_sel < 0 && errno == EINTR); \ if (sm_io_to_sel < 0) \ { \ --- libsm/refill.c +++ libsm/refill.c 2006-03-20 14:02:03.000000000 +0100 @@ -78,8 +78,11 @@ return SM_IO_EOF; \ do \ { \ + struct timeval tv; \ + tv.tv_sec = (to)->tv_sec; \ + tv.tv_usec = (to)->tv_usec; \ (sel_ret) = select((fd) + 1, &sm_io_to_mask, NULL, \ - &sm_io_x_mask, (to)); \ + &sm_io_x_mask, &tv); \ } while ((sel_ret) < 0 && errno == EINTR); \ if ((sel_ret) < 0) \ { \ --- sendmail/sfsasl.c +++ sendmail/sfsasl.c 2006-03-20 14:02:03.000000000 +0100 @@ -601,8 +601,6 @@ left = timeout - (now - tlsstart); if (left <= 0) return 0; /* timeout */ - tv.tv_sec = left; - tv.tv_usec = 0; if (LogLevel > 14) { @@ -635,6 +633,8 @@ FD_SET(rfd, &ssl_maskx); do { + tv.tv_sec = left; + tv.tv_usec = 0; ret = select(rfd + 1, &ssl_maskr, NULL, &ssl_maskx, &tv); } while (ret < 0 && errno == EINTR); @@ -651,6 +651,8 @@ FD_SET(rfd, &ssl_maskx); do { + tv.tv_sec = left; + tv.tv_usec = 0; ret = select(wfd + 1, NULL, &ssl_maskw, &ssl_maskx, &tv); } while (ret < 0 && errno == EINTR);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor