diff options
Diffstat (limited to 'src/microhttpd/test_upgrade.c')
-rw-r--r-- | src/microhttpd/test_upgrade.c | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/microhttpd/test_upgrade.c b/src/microhttpd/test_upgrade.c index a0703441..caf12e61 100644 --- a/src/microhttpd/test_upgrade.c +++ b/src/microhttpd/test_upgrade.c | |||
@@ -103,8 +103,10 @@ gnutlscli_connect (int *sock, | |||
103 | MHD_socket_close_chk_ (sp[1]); | 103 | MHD_socket_close_chk_ (sp[1]); |
104 | (void) close (0); | 104 | (void) close (0); |
105 | (void) close (1); | 105 | (void) close (1); |
106 | dup2 (sp[0], 0); | 106 | if (-1 == dup2 (sp[0], 0)) |
107 | dup2 (sp[0], 1); | 107 | abort (); |
108 | if (-1 == dup2 (sp[0], 1)) | ||
109 | abort (); | ||
108 | MHD_socket_close_chk_ (sp[0]); | 110 | MHD_socket_close_chk_ (sp[0]); |
109 | if (TLS_CLI_GNUTLS == use_tls_tool) | 111 | if (TLS_CLI_GNUTLS == use_tls_tool) |
110 | { | 112 | { |
@@ -946,6 +948,7 @@ run_mhd_epoll_loop (struct MHD_Daemon *daemon) | |||
946 | fd_set rs; | 948 | fd_set rs; |
947 | MHD_UNSIGNED_LONG_LONG to; | 949 | MHD_UNSIGNED_LONG_LONG to; |
948 | struct timeval tv; | 950 | struct timeval tv; |
951 | int ret; | ||
949 | 952 | ||
950 | di = MHD_get_daemon_info (daemon, | 953 | di = MHD_get_daemon_info (daemon, |
951 | MHD_DAEMON_INFO_EPOLL_FD); | 954 | MHD_DAEMON_INFO_EPOLL_FD); |
@@ -962,11 +965,15 @@ run_mhd_epoll_loop (struct MHD_Daemon *daemon) | |||
962 | to = 1000; | 965 | to = 1000; |
963 | tv.tv_sec = to / 1000; | 966 | tv.tv_sec = to / 1000; |
964 | tv.tv_usec = 1000 * (to % 1000); | 967 | tv.tv_usec = 1000 * (to % 1000); |
965 | select (ep + 1, | 968 | ret = select (ep + 1, |
966 | &rs, | 969 | &rs, |
967 | NULL, | 970 | NULL, |
968 | NULL, | 971 | NULL, |
969 | &tv); | 972 | &tv); |
973 | if ( (-1 == ret) && | ||
974 | (EAGAIN != errno) && | ||
975 | (EINTR != errno) ) | ||
976 | abort (); | ||
970 | MHD_run (daemon); | 977 | MHD_run (daemon); |
971 | } | 978 | } |
972 | } | 979 | } |