diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | src/include/microhttpd.h | 4 | ||||
-rw-r--r-- | src/microhttpd/daemon.c | 3 |
3 files changed, 7 insertions, 4 deletions
@@ -1,3 +1,7 @@ | |||
1 | Sun Jan 18 20:09:06 CET 2015 | ||
2 | Fix potential infinite loop on shutdown in multi-threaded mode | ||
3 | under certain conditions. -CG | ||
4 | |||
1 | Mon Dec 22 16:33:18 CET 2014 | 5 | Mon Dec 22 16:33:18 CET 2014 |
2 | Releasing 0.9.39. -CG | 6 | Releasing 0.9.39. -CG |
3 | 7 | ||
diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h index e1114458..1685f146 100644 --- a/src/include/microhttpd.h +++ b/src/include/microhttpd.h | |||
@@ -130,7 +130,7 @@ typedef intptr_t ssize_t; | |||
130 | * Current version of the library. | 130 | * Current version of the library. |
131 | * 0x01093001 = 1.9.30-1. | 131 | * 0x01093001 = 1.9.30-1. |
132 | */ | 132 | */ |
133 | #define MHD_VERSION 0x00093900 | 133 | #define MHD_VERSION 0x00093901 |
134 | 134 | ||
135 | /** | 135 | /** |
136 | * MHD-internal return code for "YES". | 136 | * MHD-internal return code for "YES". |
@@ -170,7 +170,7 @@ typedef intptr_t ssize_t; | |||
170 | #define _MHD_EXTERN extern | 170 | #define _MHD_EXTERN extern |
171 | #elif defined (_WIN32) && defined(MHD_W32DLL) | 171 | #elif defined (_WIN32) && defined(MHD_W32DLL) |
172 | /* Define MHD_W32DLL when using MHD as W32 .DLL to speed up linker a little */ | 172 | /* Define MHD_W32DLL when using MHD as W32 .DLL to speed up linker a little */ |
173 | #define _MHD_EXTERN __declspec(dllimport) | 173 | #define _MHD_EXTERN __declspec(dllimport) |
174 | #else | 174 | #else |
175 | #define _MHD_EXTERN extern | 175 | #define _MHD_EXTERN extern |
176 | #endif | 176 | #endif |
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c index db99aa54..ac420df1 100644 --- a/src/microhttpd/daemon.c +++ b/src/microhttpd/daemon.c | |||
@@ -4154,7 +4154,7 @@ close_all_connections (struct MHD_Daemon *daemon) | |||
4154 | /* now, collect threads from thread pool */ | 4154 | /* now, collect threads from thread pool */ |
4155 | if (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) | 4155 | if (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) |
4156 | { | 4156 | { |
4157 | while (NULL != (pos = daemon->connections_head)) | 4157 | for (pos = daemon->connections_head; NULL != pos; pos = pos->next) |
4158 | { | 4158 | { |
4159 | if (0 != MHD_join_thread_ (pos->pid)) | 4159 | if (0 != MHD_join_thread_ (pos->pid)) |
4160 | MHD_PANIC ("Failed to join a thread\n"); | 4160 | MHD_PANIC ("Failed to join a thread\n"); |
@@ -4633,4 +4633,3 @@ void MHD_fini(void) | |||
4633 | _SET_INIT_AND_DEINIT_FUNCS(MHD_init, MHD_fini); | 4633 | _SET_INIT_AND_DEINIT_FUNCS(MHD_init, MHD_fini); |
4634 | 4634 | ||
4635 | /* end of daemon.c */ | 4635 | /* end of daemon.c */ |
4636 | |||