diff options
author | Christian Grothoff <christian@grothoff.org> | 2012-07-11 14:22:18 +0000 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2012-07-11 14:22:18 +0000 |
commit | c0035396caef1365e0bb52974c192191e33a2af2 (patch) | |
tree | 8e13f04c615bfb711e3509ac9d1f7adcae0dfe6b /src/util/network.c | |
parent | adc0e2a714e9a59f801ef2d93daa7f8fcb3091f8 (diff) | |
download | gnunet-c0035396caef1365e0bb52974c192191e33a2af2.tar.gz gnunet-c0035396caef1365e0bb52974c192191e33a2af2.zip |
-dos2unix
Diffstat (limited to 'src/util/network.c')
-rw-r--r-- | src/util/network.c | 154 |
1 files changed, 77 insertions, 77 deletions
diff --git a/src/util/network.c b/src/util/network.c index f550c18b2..c61704be9 100644 --- a/src/util/network.c +++ b/src/util/network.c | |||
@@ -1130,37 +1130,37 @@ GNUNET_NETWORK_fdset_destroy (struct GNUNET_NETWORK_FDSet *fds) | |||
1130 | } | 1130 | } |
1131 | 1131 | ||
1132 | #if MINGW | 1132 | #if MINGW |
1133 | struct _select_params | 1133 | struct _select_params |
1134 | { | 1134 | { |
1135 | fd_set *r; | 1135 | fd_set *r; |
1136 | fd_set *w; | 1136 | fd_set *w; |
1137 | fd_set *e; | 1137 | fd_set *e; |
1138 | struct timeval *tv; | 1138 | struct timeval *tv; |
1139 | HANDLE wakeup; | 1139 | HANDLE wakeup; |
1140 | HANDLE standby; | 1140 | HANDLE standby; |
1141 | SOCKET wakeup_socket; | 1141 | SOCKET wakeup_socket; |
1142 | int status; | 1142 | int status; |
1143 | }; | 1143 | }; |
1144 | 1144 | ||
1145 | static DWORD WINAPI | 1145 | static DWORD WINAPI |
1146 | _selector (LPVOID p) | 1146 | _selector (LPVOID p) |
1147 | { | 1147 | { |
1148 | struct _select_params *sp = p; | 1148 | struct _select_params *sp = p; |
1149 | int i; | 1149 | int i; |
1150 | while (1) | 1150 | while (1) |
1151 | { | 1151 | { |
1152 | WaitForSingleObject (sp->standby, INFINITE); | 1152 | WaitForSingleObject (sp->standby, INFINITE); |
1153 | ResetEvent (sp->standby); | 1153 | ResetEvent (sp->standby); |
1154 | sp->status = select (1, sp->r, sp->w, sp->e, sp->tv); | 1154 | sp->status = select (1, sp->r, sp->w, sp->e, sp->tv); |
1155 | if (FD_ISSET (sp->wakeup_socket, sp->r)) | 1155 | if (FD_ISSET (sp->wakeup_socket, sp->r)) |
1156 | { | 1156 | { |
1157 | FD_CLR (sp->wakeup_socket, sp->r); | 1157 | FD_CLR (sp->wakeup_socket, sp->r); |
1158 | sp->status -= 1; | 1158 | sp->status -= 1; |
1159 | } | 1159 | } |
1160 | SetEvent (sp->wakeup); | 1160 | SetEvent (sp->wakeup); |
1161 | } | 1161 | } |
1162 | return 0; | 1162 | return 0; |
1163 | } | 1163 | } |
1164 | #endif | 1164 | #endif |
1165 | 1165 | ||
1166 | /** | 1166 | /** |
@@ -1193,14 +1193,14 @@ GNUNET_NETWORK_socket_select (struct GNUNET_NETWORK_FDSet *rfds, | |||
1193 | static HANDLE hEventPipeWrite = 0; | 1193 | static HANDLE hEventPipeWrite = 0; |
1194 | static HANDLE hEventReadReady = 0; | 1194 | static HANDLE hEventReadReady = 0; |
1195 | 1195 | ||
1196 | static struct _select_params sp; | 1196 | static struct _select_params sp; |
1197 | static HANDLE select_thread = NULL; | 1197 | static HANDLE select_thread = NULL; |
1198 | static HANDLE select_finished_event = NULL; | 1198 | static HANDLE select_finished_event = NULL; |
1199 | static HANDLE select_standby_event = NULL; | 1199 | static HANDLE select_standby_event = NULL; |
1200 | static SOCKET select_wakeup_socket = -1; | 1200 | static SOCKET select_wakeup_socket = -1; |
1201 | static SOCKET select_send_socket = -1; | 1201 | static SOCKET select_send_socket = -1; |
1202 | static struct timeval select_timeout; | 1202 | static struct timeval select_timeout; |
1203 | 1203 | ||
1204 | int readPipes = 0; | 1204 | int readPipes = 0; |
1205 | int writePipePos = 0; | 1205 | int writePipePos = 0; |
1206 | 1206 | ||
@@ -1313,46 +1313,46 @@ GNUNET_NETWORK_socket_select (struct GNUNET_NETWORK_FDSet *rfds, | |||
1313 | 1313 | ||
1314 | if (select_thread == NULL) | 1314 | if (select_thread == NULL) |
1315 | { | 1315 | { |
1316 | SOCKET select_listening_socket = -1; | 1316 | SOCKET select_listening_socket = -1; |
1317 | struct sockaddr_in s_in; | 1317 | struct sockaddr_in s_in; |
1318 | int alen; | 1318 | int alen; |
1319 | int res; | 1319 | int res; |
1320 | unsigned long p; | 1320 | unsigned long p; |
1321 | 1321 | ||
1322 | select_standby_event = CreateEvent (NULL, TRUE, FALSE, NULL); | 1322 | select_standby_event = CreateEvent (NULL, TRUE, FALSE, NULL); |
1323 | select_finished_event = CreateEvent (NULL, TRUE, FALSE, NULL); | 1323 | select_finished_event = CreateEvent (NULL, TRUE, FALSE, NULL); |
1324 | 1324 | ||
1325 | select_wakeup_socket = WSASocket (AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, WSA_FLAG_OVERLAPPED); | 1325 | select_wakeup_socket = WSASocket (AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, WSA_FLAG_OVERLAPPED); |
1326 | 1326 | ||
1327 | select_listening_socket = WSASocket (AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, WSA_FLAG_OVERLAPPED); | 1327 | select_listening_socket = WSASocket (AF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, WSA_FLAG_OVERLAPPED); |
1328 | 1328 | ||
1329 | p = 1; | 1329 | p = 1; |
1330 | res = ioctlsocket (select_wakeup_socket, FIONBIO, &p); | 1330 | res = ioctlsocket (select_wakeup_socket, FIONBIO, &p); |
1331 | 1331 | ||
1332 | alen = sizeof (s_in); | 1332 | alen = sizeof (s_in); |
1333 | s_in.sin_family = AF_INET; | 1333 | s_in.sin_family = AF_INET; |
1334 | s_in.sin_port = 0; | 1334 | s_in.sin_port = 0; |
1335 | s_in.sin_addr.S_un.S_un_b.s_b1 = 127; | 1335 | s_in.sin_addr.S_un.S_un_b.s_b1 = 127; |
1336 | s_in.sin_addr.S_un.S_un_b.s_b2 = 0; | 1336 | s_in.sin_addr.S_un.S_un_b.s_b2 = 0; |
1337 | s_in.sin_addr.S_un.S_un_b.s_b3 = 0; | 1337 | s_in.sin_addr.S_un.S_un_b.s_b3 = 0; |
1338 | s_in.sin_addr.S_un.S_un_b.s_b4 = 1; | 1338 | s_in.sin_addr.S_un.S_un_b.s_b4 = 1; |
1339 | res = bind (select_listening_socket, (const struct sockaddr *) &s_in, sizeof (s_in)); | 1339 | res = bind (select_listening_socket, (const struct sockaddr *) &s_in, sizeof (s_in)); |
1340 | 1340 | ||
1341 | res = getsockname (select_listening_socket, (struct sockaddr *) &s_in, &alen); | 1341 | res = getsockname (select_listening_socket, (struct sockaddr *) &s_in, &alen); |
1342 | 1342 | ||
1343 | res = listen (select_listening_socket, SOMAXCONN); | 1343 | res = listen (select_listening_socket, SOMAXCONN); |
1344 | 1344 | ||
1345 | res = connect (select_wakeup_socket, (const struct sockaddr *) &s_in, sizeof (s_in)); | 1345 | res = connect (select_wakeup_socket, (const struct sockaddr *) &s_in, sizeof (s_in)); |
1346 | 1346 | ||
1347 | select_send_socket = accept (select_listening_socket, (struct sockaddr *) &s_in, &alen); | 1347 | select_send_socket = accept (select_listening_socket, (struct sockaddr *) &s_in, &alen); |
1348 | 1348 | ||
1349 | closesocket (select_listening_socket); | 1349 | closesocket (select_listening_socket); |
1350 | 1350 | ||
1351 | sp.wakeup = select_finished_event; | 1351 | sp.wakeup = select_finished_event; |
1352 | sp.standby = select_standby_event; | 1352 | sp.standby = select_standby_event; |
1353 | sp.wakeup_socket = select_wakeup_socket; | 1353 | sp.wakeup_socket = select_wakeup_socket; |
1354 | 1354 | ||
1355 | select_thread = CreateThread (NULL, 0, _selector, &sp, 0, NULL); | 1355 | select_thread = CreateThread (NULL, 0, _selector, &sp, 0, NULL); |
1356 | } | 1356 | } |
1357 | 1357 | ||
1358 | /* Events for pipes */ | 1358 | /* Events for pipes */ |
@@ -1534,14 +1534,14 @@ GNUNET_NETWORK_socket_select (struct GNUNET_NETWORK_FDSet *rfds, | |||
1534 | * and wake up by itself. | 1534 | * and wake up by itself. |
1535 | */ | 1535 | */ |
1536 | if (ms_total != 0) | 1536 | if (ms_total != 0) |
1537 | i = send (select_send_socket, (const char *) &returnedpos, 1, 0); | 1537 | i = send (select_send_socket, (const char *) &returnedpos, 1, 0); |
1538 | i = (int) WaitForSingleObject (select_finished_event, INFINITE); | 1538 | i = (int) WaitForSingleObject (select_finished_event, INFINITE); |
1539 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Finished waiting for the select thread: %d %d\n", i, sp.status); | 1539 | LOG (GNUNET_ERROR_TYPE_DEBUG, "Finished waiting for the select thread: %d %d\n", i, sp.status); |
1540 | if (ms_total != 0) | 1540 | if (ms_total != 0) |
1541 | { | 1541 | { |
1542 | do | 1542 | do |
1543 | { | 1543 | { |
1544 | i = recv (select_wakeup_socket, (char *) &returnedpos, 1, 0); | 1544 | i = recv (select_wakeup_socket, (char *) &returnedpos, 1, 0); |
1545 | } while (i == 1); | 1545 | } while (i == 1); |
1546 | } | 1546 | } |
1547 | /* Check aexcept, add its contents to awrite */ | 1547 | /* Check aexcept, add its contents to awrite */ |