diff options
Diffstat (limited to 'src/lib/request_resume.c')
-rw-r--r-- | src/lib/request_resume.c | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/src/lib/request_resume.c b/src/lib/request_resume.c index cd642580..fcb9a5a3 100644 --- a/src/lib/request_resume.c +++ b/src/lib/request_resume.c | |||
@@ -42,7 +42,24 @@ | |||
42 | void | 42 | void |
43 | MHD_request_resume (struct MHD_Request *request) | 43 | MHD_request_resume (struct MHD_Request *request) |
44 | { | 44 | { |
45 | abort (); // not implemented... | 45 | struct MHD_Daemon *daemon = request->daemon; |
46 | |||
47 | if (daemon->disallow_suspend_resume) | ||
48 | MHD_PANIC (_("Cannot resume connections without enabling MHD_ALLOW_SUSPEND_RESUME!\n")); | ||
49 | MHD_mutex_lock_chk_ (&daemon->cleanup_connection_mutex); | ||
50 | request->connection->resuming = true; | ||
51 | daemon->resuming = true; | ||
52 | MHD_mutex_unlock_chk_ (&daemon->cleanup_connection_mutex); | ||
53 | if ( (MHD_ITC_IS_VALID_(daemon->itc)) && | ||
54 | (! MHD_itc_activate_ (daemon->itc, | ||
55 | "r")) ) | ||
56 | { | ||
57 | #ifdef HAVE_MESSAGES | ||
58 | MHD_DLOG (daemon, | ||
59 | MHD_SC_ITC_USE_FAILED, | ||
60 | _("Failed to signal resume via inter-thread communication channel.")); | ||
61 | #endif | ||
62 | } | ||
46 | } | 63 | } |
47 | 64 | ||
48 | /* end of request_resume.c */ | 65 | /* end of request_resume.c */ |