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); }
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); }