@@ -184,6 +184,8 @@ AP_DECLARE(apr_status_t) ap_os_create_privileged_process(
184
184
#define AP_MPMQ_CAN_POLL 18
185
185
/** MPM supports CONN_STATE_ASYNC_WAITIO */
186
186
#define AP_MPMQ_CAN_WAITIO 19
187
+ /** MPM implements the poll_suspended hook */
188
+ #define AP_MPMQ_CAN_POLL_SUSPENDED 20
187
189
/** @} */
188
190
189
191
/**
@@ -206,54 +208,13 @@ typedef void (ap_mpm_callback_fn_t)(void *baton);
206
208
/* only added support in the Event MPM.... check for APR_ENOTIMPL */
207
209
AP_DECLARE (apr_status_t ) ap_mpm_resume_suspended (conn_rec * c );
208
210
/* only added support in the Event MPM.... check for APR_ENOTIMPL */
211
+ AP_DECLARE (apr_status_t ) ap_mpm_poll_suspended (conn_rec * c , apr_pool_t * p ,
212
+ const apr_array_header_t * pfds ,
213
+ apr_interval_time_t timeout );
214
+ /* only added support in the Event MPM.... check for APR_ENOTIMPL */
209
215
AP_DECLARE (apr_status_t ) ap_mpm_register_timed_callback (
210
216
apr_time_t t , ap_mpm_callback_fn_t * cbfn , void * baton );
211
217
212
- /**
213
- * Register a callback on the readability or writability on a group of
214
- * sockets/pipes.
215
- * @param p Pool used by the MPM for its internal allocations
216
- * @param pfds Array of apr_pollfd_t
217
- * @param cbfn The callback function
218
- * @param baton userdata for the callback function
219
- * @return APR_SUCCESS if all sockets/pipes could be added to a pollset,
220
- * APR_ENOTIMPL if no asynch support, or an apr_pollset_add error.
221
- * @remark When activity is found on any 1 socket/pipe in the list, all are removed
222
- * from the pollset and only 1 callback is issued.
223
- * @remark The passed in pool can be cleared by cbfn and tofn when called back,
224
- * it retains no MPM persistent data and won't be used until the next call
225
- * to ap_mpm_register_poll_callback[_timeout].
226
- */
227
-
228
- AP_DECLARE (apr_status_t ) ap_mpm_register_poll_callback (
229
- apr_pool_t * p , const apr_array_header_t * pfds ,
230
- ap_mpm_callback_fn_t * cbfn , void * baton );
231
-
232
- /**
233
- * Register a callback on the readability or writability on a group of sockets/pipes,
234
- * with a timeout.
235
- * @param p Pool used by the MPM for its internal allocations
236
- * @param pfds Array of apr_pollfd_t
237
- * @param cbfn The callback function
238
- * @param tofn The callback function if the timeout expires
239
- * @param baton userdata for the callback function
240
- * @param timeout timeout for I/O in microseconds, unlimited if <= 0
241
- * @return APR_SUCCESS if all sockets/pipes could be added to a pollset,
242
- * APR_ENOTIMPL if no asynch support, or an apr_pollset_add error.
243
- * @remark When activity is found on any 1 socket/pipe in the list, all are removed
244
- * from the pollset and only 1 callback is issued.
245
- * @remark For each call, only one of tofn or cbfn will be called, never both.
246
- * @remark The passed in pool can be cleared by cbfn and tofn when called back,
247
- * it retains no MPM persistent data and won't be used until the next call
248
- * to ap_mpm_register_poll_callback[_timeout].
249
- */
250
-
251
- AP_DECLARE (apr_status_t ) ap_mpm_register_poll_callback_timeout (
252
- apr_pool_t * p , const apr_array_header_t * pfds ,
253
- ap_mpm_callback_fn_t * cbfn , ap_mpm_callback_fn_t * tofn ,
254
- void * baton , apr_time_t timeout );
255
-
256
-
257
218
typedef enum mpm_child_status {
258
219
MPM_CHILD_STARTED ,
259
220
MPM_CHILD_EXITED ,
0 commit comments