diff options
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 29 |
1 files changed, 29 insertions, 0 deletions
@@ -1,3 +1,32 @@ | |||
1 | Tue Dec 3 21:05:38 CET 2013 | ||
2 | Signaling n times for shutdown works, but for resume we need to | ||
3 | wake up the correct daemon. Even if we signal n times in that | ||
4 | case also, there's no guarantee that some daemon can't run | ||
5 | through its select loop more than once before the daemon we want | ||
6 | to wake up gets a chance to read. Thus we need a signal pipe | ||
7 | per thread in the thread pool IF MHD_suspend_connection is used. | ||
8 | This introduces a new flag MHD_USE_SUSPEND_RESUME to add those | ||
9 | additional pipes and only allow MHD_suspend_connection to be | ||
10 | used in conjunction with this flag. | ||
11 | |||
12 | Also, as MHD_resume_connection() will be called on a non-daemon | ||
13 | thread, but none of the queue insert/delete calls are thread safe, | ||
14 | we need to be concerned about (a) corrupting the queue, and (b) | ||
15 | having to add mutex protection around every access to the queues, | ||
16 | including loops through timer queues, etc. This wasn't a problem | ||
17 | before adding resume; even suspend should be safe since it happens | ||
18 | in a callback from the daemon. | ||
19 | |||
20 | I think it's easier to (a) have MHD_suspend_connection() move the | ||
21 | connection to a suspended queue, (b) have MHD_resume_connection() | ||
22 | mark the connection as resuming, and then (c) do all the actual | ||
23 | queue manipulations in MHD_select (poll, epoll, etc.) to move the | ||
24 | resumed connections back to their normal queues, in response to | ||
25 | the wake up. The changes are simpler & cleaner. There is a cost to | ||
26 | the basic select loop that is avoided by making suspend/resume a | ||
27 | startup option. The per-worker pipes can then also be enabled only | ||
28 | with that option set. -MH | ||
29 | |||
1 | Fri Nov 29 20:17:03 CET 2013 | 30 | Fri Nov 29 20:17:03 CET 2013 |
2 | Eliminating theoretical stack overflow by limiting length | 31 | Eliminating theoretical stack overflow by limiting length |
3 | of URIs in authentication headers to 32k (only applicable | 32 | of URIs in authentication headers to 32k (only applicable |