/* * Top level */ int main(int argc, char **argv) { struct server *s; log_init(".", DEBUG, EVENT); csp_init(); s = prepare_server("localhost", 6776); /* FIXME: get from the command line */ if (!s) { fprintf(stderr, "couldn't start server\n"); return 1; } event("SERVER_STARTED", ""); csp_spawn((process_fn) listen_loop, s); csp_start(); csp_exit(); log_exit(); return 0; }
apr_status_t test_server_create(test_baton_t **tb_p, test_server_action_t *action_list, apr_size_t action_count, apr_int32_t options, const char *host_url, apr_sockaddr_t *address, serf_connection_setup_t conn_setup, apr_pool_t *pool) { apr_status_t status; test_baton_t *tb; tb = apr_palloc(pool, sizeof(*tb)); *tb_p = tb; if (address) { tb->serv_addr = address; } else { status = get_server_address(&tb->serv_addr, pool); if (status != APR_SUCCESS) return status; } tb->pool = pool; tb->options = options; tb->context = serf_context_create(pool); tb->bkt_alloc = serf_bucket_allocator_create(pool, NULL, NULL); if (host_url) { apr_uri_t url; status = apr_uri_parse(pool, host_url, &url); if (status != APR_SUCCESS) return status; status = serf_connection_create2(&tb->connection, tb->context, url, conn_setup ? conn_setup : default_conn_setup, tb, default_closed_connection, tb, pool); if (status != APR_SUCCESS) return status; } else { tb->connection = serf_connection_create(tb->context, tb->serv_addr, conn_setup ? conn_setup : default_conn_setup, tb, default_closed_connection, tb, pool); } tb->action_list = action_list; tb->action_count = action_count; /* Prepare a server. */ status = prepare_server(tb, pool); if (status != APR_SUCCESS) return status; return APR_SUCCESS; }