Lines Matching defs:scon

56 static apr_status_t motorz_io_process(motorz_conn_t *scon);
83 motorz_conn_t *scon = (motorz_conn_t *)baton;
85 if (scon->timer.expires) {
86 motorz_core_t *mz = scon->mz;
89 apr_skiplist_remove(mz->timer_ring, &scon->timer, NULL);
97 motorz_get_timeout(motorz_conn_t *scon)
99 if (scon->c->base_server) {
100 return scon->c->base_server->timeout;
108 motorz_get_keep_alive_timeout(motorz_conn_t *scon)
110 if (scon->c->base_server) {
111 return scon->c->base_server->keep_alive_timeout;
124 conn_rec *c = scon->c;
139 motorz_conn_t *scon = (motorz_conn_t *) baton;
141 ap_create_sb_handle(&sbh, scon->pool, 0, 0);
142 scon->sbh = sbh;
143 scon->ba = apr_bucket_alloc_create(scon->pool);
145 scon->c = ap_run_create_connection(scon->pool, ap_server_conf, scon->sock,
146 conn_id, sbh, scon->ba);
149 scon->c->cs = &scon->cs;
150 sb = apr_pcalloc(scon->pool, sizeof(motorz_sb_t));
152 scon->c->current_thread = thread;
154 scon->pfd.p = scon->pool;
155 scon->pfd.desc_type = APR_POLL_SOCKET;
156 scon->pfd.desc.s = scon->sock;
157 scon->pfd.reqevents = APR_POLLIN;
160 sb->baton = scon;
161 scon->pfd.client_data = sb;
163 ap_update_vhost_given_ip(scon->c);
165 status = ap_run_pre_connection(scon->c, scon->sock);
169 scon->c->aborted = 1;
172 scon->cs.state = CONN_STATE_READ_REQUEST_LINE;
173 scon->cs.sense = CONN_SENSE_DEFAULT;
175 status = motorz_io_process(scon);
208 motorz_conn_t *scon = apr_pcalloc(ptrans, sizeof(motorz_conn_t));
209 scon->pool = ptrans;
210 scon->sock = socket;
211 scon->mz = mz;
213 apr_pool_cleanup_register(scon->pool, scon, motorz_conn_pool_cleanup,
218 scon,
228 motorz_conn_t *scon = (motorz_conn_t *)ep->baton;
230 scon->c->current_thread = thread;
239 motorz_conn_t *scon = (motorz_conn_t *)te->baton;
240 scon->timer.expires = 0;
250 motorz_conn_t *scon = (motorz_conn_t *) sb->baton;
253 scon->c->current_thread = thread;
255 rv = motorz_io_process(scon);
290 static void motorz_register_timer(motorz_conn_t *scon,
295 motorz_timer_t *elem = &scon->timer;
296 motorz_core_t *mz = scon->mz;
300 elem->baton = scon;
301 elem->pool = scon->pool;
313 static apr_status_t motorz_io_process(motorz_conn_t *scon)
319 if (scon->c->clogging_input_filters && !scon->c->aborted) {
326 ap_run_process_connection(scon->c);
327 if (scon->cs.state != CONN_STATE_SUSPENDED) {
328 scon->cs.state = CONN_STATE_LINGER;
332 mz = scon->mz;
333 c = scon->c;
337 if (scon->pfd.reqevents != 0) {
344 rv = apr_pollset_remove(mz->pollset, &scon->pfd);
350 scon->pfd.reqevents = 0;
353 if (scon->cs.state == CONN_STATE_READ_REQUEST_LINE) {
362 scon->cs.state = CONN_STATE_LINGER;
366 if (scon->cs.state == CONN_STATE_WRITE_COMPLETION) {
368 ap_update_child_status_from_conn(scon->sbh, SERVER_BUSY_WRITE, c);
379 scon->cs.state = CONN_STATE_LINGER;
387 motorz_register_timer(scon,
389 motorz_get_timeout(scon));
391 scon->pfd.reqevents = (
392 scon->cs.sense == CONN_SENSE_WANT_READ ? APR_POLLIN :
394 scon->cs.sense = CONN_SENSE_DEFAULT;
396 rv = apr_pollset_add(mz->pollset, &scon->pfd);
406 scon->cs.state = CONN_STATE_LINGER;
409 scon->cs.state = CONN_STATE_READ_REQUEST_LINE;
412 scon->cs.state = CONN_STATE_CHECK_REQUEST_LINE_READABLE;
416 if (scon->cs.state == CONN_STATE_LINGER) {
418 apr_pool_destroy(scon->pool);
422 if (scon->cs.state == CONN_STATE_CHECK_REQUEST_LINE_READABLE) {
423 motorz_register_timer(scon,
425 motorz_get_keep_alive_timeout(scon));
427 scon->pfd.reqevents = (
428 scon->cs.sense == CONN_SENSE_WANT_WRITE ? APR_POLLOUT :
430 scon->cs.sense = CONN_SENSE_DEFAULT;
432 rv = apr_pollset_add(mz->pollset, &scon->pfd);
444 apr_pool_destroy(scon->pool);