-------------------------------------------------------------------------*\ * Select with int timeout in ms \*-------------------------------------------------------------------------*/
| 76 | * Select with int timeout in ms |
| 77 | \*-------------------------------------------------------------------------*/ |
| 78 | int socket_select(t_socket n, fd_set *rfds, fd_set *wfds, fd_set *efds, |
| 79 | p_timeout tm) { |
| 80 | struct timeval tv; |
| 81 | double t = timeout_get(tm); |
| 82 | tv.tv_sec = (int) t; |
| 83 | tv.tv_usec = (int) ((t - tv.tv_sec) * 1.0e6); |
| 84 | if (n <= 0) { |
| 85 | Sleep((DWORD) (1000*t)); |
| 86 | return 0; |
| 87 | } else return select(0, rfds, wfds, efds, t >= 0.0? &tv: NULL); |
| 88 | } |
| 89 | |
| 90 | /*-------------------------------------------------------------------------*\ |
| 91 | * Close and inutilize socket |
no test coverage detected