Commit a10aa06e a10aa06ee1ba782b446357cecd9361953954b776 by Sergey Poznyakoff

(mu_fd_wait): Handle MU_STREAM_READY_EX

1 parent af24726a
...@@ -1269,15 +1269,18 @@ mu_scheme_autodetect_p (const char *scheme, const char **path) ...@@ -1269,15 +1269,18 @@ mu_scheme_autodetect_p (const char *scheme, const char **path)
1269 int 1269 int
1270 mu_fd_wait (int fd, int *pflags, struct timeval *tvp) 1270 mu_fd_wait (int fd, int *pflags, struct timeval *tvp)
1271 { 1271 {
1272 fd_set rdset, wrset; 1272 fd_set rdset, wrset, exset;
1273 int rc; 1273 int rc;
1274 1274
1275 FD_ZERO (&rdset); 1275 FD_ZERO (&rdset);
1276 FD_ZERO (&wrset); 1276 FD_ZERO (&wrset);
1277 FD_ZERO (&exset);
1277 if ((*pflags) & MU_STREAM_READY_RD) 1278 if ((*pflags) & MU_STREAM_READY_RD)
1278 FD_SET (fd, &rdset); 1279 FD_SET (fd, &rdset);
1279 if ((*pflags) & MU_STREAM_READY_WR) 1280 if ((*pflags) & MU_STREAM_READY_WR)
1280 FD_SET (fd, &wrset); 1281 FD_SET (fd, &wrset);
1282 if ((*pflags) & MU_STREAM_READY_EX)
1283 FD_SET (fd, &exset);
1281 1284
1282 do 1285 do
1283 { 1286 {
...@@ -1301,6 +1304,8 @@ mu_fd_wait (int fd, int *pflags, struct timeval *tvp) ...@@ -1301,6 +1304,8 @@ mu_fd_wait (int fd, int *pflags, struct timeval *tvp)
1301 *pflags |= MU_STREAM_READY_RD; 1304 *pflags |= MU_STREAM_READY_RD;
1302 if (FD_ISSET (fd, &wrset)) 1305 if (FD_ISSET (fd, &wrset))
1303 *pflags |= MU_STREAM_READY_WR; 1306 *pflags |= MU_STREAM_READY_WR;
1307 if (FD_ISSET (fd, &exset))
1308 *pflags |= MU_STREAM_READY_EX;
1304 } 1309 }
1305 return 0; 1310 return 0;
1306 } 1311 }
......