void doit (void) { pid_t child; global_start (); if (error_count) return; child = fork (); if (child < 0) { perror ("fork"); fail ("fork"); return; } if (child) { int status; /* parent */ server (); wait (&status); } else client (); global_stop (); }
void doit (void) { int i; for (i = 0; resume_tests[i].desc; i++) { int client_sds[SESSIONS], server_sds[SESSIONS]; int j; printf ("%s\n", resume_tests[i].desc); for (j = 0; j < SESSIONS; j++) { int sockets[2]; err = socketpair (AF_UNIX, SOCK_STREAM, 0, sockets); if (err == -1) { perror ("socketpair"); fail ("socketpair failed\n"); return; } server_sds[j] = sockets[0]; client_sds[j] = sockets[1]; } child = fork (); if (child < 0) { perror ("fork"); fail ("fork"); return; } if (child) { int status; /* parent */ server (server_sds, &resume_tests[i]); wait (&status); if (WEXITSTATUS(status) > 0) error_count++; global_stop (); } else { client (client_sds, &resume_tests[i]); gnutls_global_deinit (); if (error_count) exit(1); exit (0); } } }
void doit(void) { int i, err; signal(SIGCHLD, SIG_IGN); signal(SIGPIPE, SIG_IGN); generate_dh_params(); for (i = 0; resume_tests[i].desc; i++) { int client_sds[SESSIONS], server_sds[SESSIONS]; int j; printf("%s\n", resume_tests[i].desc); for (j = 0; j < SESSIONS; j++) { int sockets[2]; err = socketpair(AF_UNIX, SOCK_STREAM, 0, sockets); if (err == -1) { perror("socketpair"); fail("socketpair failed\n"); return; } server_sds[j] = sockets[0]; client_sds[j] = sockets[1]; } child = fork(); if (child < 0) { perror("fork"); fail("fork"); return; } if (child) { int status = 0; /* parent */ for (j = 0; j < SESSIONS; j++) close(client_sds[j]); server(server_sds, &resume_tests[i]); wait(&status); check_wait_status(status); } else { for (j = 0; j < SESSIONS; j++) close(server_sds[j]); client(client_sds, &resume_tests[i]); gnutls_global_deinit(); exit(0); } } global_stop(); }
void doit (void) { int i; for (i = 0; resume_tests[i].desc; i++) { printf ("%s\n", resume_tests[i].desc); global_start (); if (error_count) return; child = fork (); if (child < 0) { perror ("fork"); fail ("fork"); return; } if (child) { int status; /* parent */ server (&resume_tests[i]); wait (&status); if (WEXITSTATUS(status) > 0) error_count++; global_stop (); } else { client (&resume_tests[i]); gnutls_global_deinit (); if (error_count) exit(1); exit (0); } } }