コード例 #1
0
ファイル: memcached.c プロジェクト: AlexShiLucky/lighttpd2
liMemcachedCon* li_memcached_con_new(liEventLoop *loop, liSocketAddress addr) {
	liMemcachedCon* con = g_slice_new0(liMemcachedCon);

	con->refcount = 1;
	con->addr = li_sockaddr_dup(addr);
	con->tmpstr = g_string_sized_new(511);

	con->fd = -1;
	li_event_io_init(loop, "memcached", &con->con_watcher, memcached_io_cb, -1, 0);
	li_event_set_keep_loop_alive(&con->con_watcher, FALSE);

	memcached_connect(con);

	return con;
}
コード例 #2
0
ファイル: mod_balance.c プロジェクト: 9drops/lighttpd2
static balancer* balancer_new(liWorker *wrk, liPlugin *p, balancer_method method) {
	balancer *b = g_slice_new0(balancer);
	b->wrk = wrk;
	b->lock = g_mutex_new();
	b->backends = g_array_new(FALSE, TRUE, sizeof(backend));
	b->method = method;
	b->state = BAL_ALIVE;
	b->p = p;

	b->backlog_limit = -1;

	li_event_timer_init(&wrk->loop, &b->backlog_timer, balancer_timer_cb);
	li_event_set_keep_loop_alive(&b->backlog_timer, FALSE);

	li_event_async_init(&wrk->loop, &b->async, balancer_async_cb);

	return b;
}