Beispiel #1
0
static void test_int_list(struct cag_test_series *tests)
{
	int i, total = 0;
	ilist l;
	iterator_ilist *it;
	new_ilist(&l);
	append_ilist(&l, 2);
	for (i = 1; i < 5; ++i)
		append_ilist(&l, i);
	for (i = 0, it = beg_ilist(&l); it != end_ilist(&l);
	     it = it->next, ++i)
		total += it->value;
	CAG_TEST(*tests, i == 5 && total == 12,
		 "cag_dlist: ilist append");
	free_ilist(&l);
	new_ilist(&l);
	total = 0;
	for (i = 1; i < 5; ++i)
		appendp_ilist(&l, &i);
	for (i = 0, it = beg_ilist(&l); it != end_ilist(&l);
	     it = it->next, ++i)
		total += it->value;
	CAG_TEST(*tests, i == 4 && total == 10,
		 "cag_dlist: ilist pappend");
	free_ilist(&l);
}
Beispiel #2
0
int main(int argc, char **argv)
{
	int webfd;
	
	tnrld = new_tnrld(10002);

	connections = new_ilist(500);
	processes = new_ilist(500);

	loop = EV_DEFAULT;

	// Start tnrld on port 10002.
	webfd = start_webserver("10002");
	if (webfd < 0) {
		exit(1);
	}

	tnrld->listen_fd = webfd;
	tnrld->evloop = loop;

	// Signal handler to close cleanly.
	signal(SIGINT, int_handler);

	// Signal handler so child pipes end safely.
	signal(SIGPIPE, SIG_IGN);

	// Set up the main event loop.
	ev_io http_watcher;
	ev_io_init (&http_watcher, accept_cb, webfd, EV_READ);
	ev_io_start(loop, &http_watcher);
	ev_set_io_collect_interval (loop, 0.001);
	ev_loop(loop, 0);

	printf("Server shut down.\n");
	exit(0);
}