int main(int argc, char *argv[]) { int numthreads; if (!new_listener(argv[1], echo_start, NULL)) fatal("failed to create new listener!\n"); numthreads = argc > 3 ? atoi(argv[2]) : 0; if (numthreads > 0) { int i; pthread_t thrds[numthreads]; for (i = 0; i < numthreads; ++i) if (pthread_create(&thrds[i], NULL, start_thread, conn_loop) != 0) return 1; struct pollfd pfd; pfd.fd = STDIN_FILENO; pfd.events = POLLIN; if (poll(&pfd, 1, -1) && pfd.revents & POLLIN) { printf("Key pressed, terminating...\n"); pthread_exit(NULL); } } else conn_loop(); return 0; }
int main(int argc, char **argv) { if (!new_conn(argv[1], argv[2], echo_start, NULL)) fatal("failed to create a conn to %s %s!\n", argv[1], argv[2]); while (1) conn_loop (); return 0; }