Lines Matching refs:sc

43 static apr_status_t simple_main_setup_timers(simple_core_t * sc)
45 simple_register_timer(sc, simple_check_children_size, NULL, 0, sc->pool);
53 static apr_status_t simple_setup_workers(simple_core_t * sc)
57 rv = apr_thread_pool_create(&sc->workers,
58 sc->procmgr.thread_count,
59 sc->procmgr.thread_count, sc->pool);
64 sc->procmgr.thread_count);
71 static apr_status_t simple_setup_listeners(simple_core_t * sc)
77 apr_pollfd_t *pfd = apr_palloc(sc->pool, sizeof(apr_pollfd_t));
78 simple_sb_t *sb = apr_pcalloc(sc->pool, sizeof(simple_sb_t));
80 pfd->p = sc->pool;
98 rv = apr_pollcb_add(sc->pollcb, pfd);
115 simple_core_t *sc = (simple_core_t *) baton;
120 rv = simple_io_accept(sc, sb);
123 rv = simple_io_event_process(sc, sb);
145 static int simple_run_loop(simple_core_t * sc)
150 while (sc->mpm_state == AP_MPMQ_RUNNING) {
156 apr_thread_mutex_lock(sc->mtx);
157 head = APR_RING_FIRST(&sc->timer_ring);
159 if (head != APR_RING_SENTINEL(&sc->timer_ring, simple_timer_t, link)) {
172 apr_thread_mutex_unlock(sc->mtx);
174 rv = apr_pollcb_poll(sc->pollcb, timeout, simple_io_callback, sc);
188 apr_thread_mutex_lock(sc->mtx);
190 APR_RING_CHECK_CONSISTENCY(&sc->timer_ring, simple_timer_t, link);
193 if (!APR_RING_EMPTY(&sc->timer_ring, simple_timer_t, link)) {
194 for (ep = APR_RING_FIRST(&sc->timer_ring);
195 ep != APR_RING_SENTINEL(&sc->timer_ring,
202 APR_RING_CHECK_CONSISTENCY(&sc->timer_ring,
213 APR_RING_CHECK_CONSISTENCY(&sc->timer_ring, simple_timer_t, link);
215 apr_thread_mutex_unlock(sc->mtx);
222 apr_thread_pool_push(sc->workers,
233 void simple_single_process_hack(simple_core_t * sc)
237 rv = simple_setup_listeners(sc);
244 static int simple_setup_privs(simple_core_t * sc)
246 int rv = ap_run_drop_privileges(sc->pool, ap_server_conf);
257 static int simple_setup_pollcb(simple_core_t * sc)
265 rv = apr_pollcb_create_ex(&sc->pollcb, 512,
266 sc->pool, APR_POLLSET_NODEFAULT, good_methods[i]);
279 int simple_child_loop(simple_core_t * sc)
283 rv = simple_setup_pollcb(sc);
291 APR_RING_INIT(&sc->timer_ring, simple_timer_t, link);
293 rv = simple_setup_workers(sc);
300 rv = simple_setup_listeners(sc);
307 rv = simple_setup_privs(sc);
313 ap_run_child_init(sc->pool, ap_server_conf);
315 return simple_run_loop(sc);
318 int simple_main_loop(simple_core_t * sc)
322 rv = simple_setup_pollcb(sc);
327 rv = simple_setup_workers(sc);
334 rv = simple_main_setup_timers(sc);
341 return simple_run_loop(sc);