void barrackServerDestroy(BarrackServer **_self) { BarrackServer *self = *_self; serverDestroy(&self->server); free(self); *_self = NULL; }
int main() { Server *server = serverCreate(clientNotify); clientDoAction(server); serverDestroy(server); return 0; }
int main(int argc, char *argv[]) { ServerArguments arguments; // Arguments parser. if (serverArgumentsCreate(&arguments, argc, argv) == ERROR) { return ERROR; } File file; if (fileCreate(&file, serverArgumentsFileRoute(&arguments)) == ERROR) { return ERROR; } int sesion_id = ONE; while (!feof(fileAsociatedFile(&file))) { long line_length = fileLineLengthCount(&file); char buffer[line_length + ONE]; fileReadLine(&file, buffer, (int)line_length + ONE); Process process; processCreate(&process, buffer, sesion_id); sesion_id++; } // Create server. Server server; if (serverCreate(&server) == ERROR) { return ERROR; } if (serverOpen(&server, serverArgumentsPort(&arguments)) == ERROR) { return ERROR; } Socket new_sock = serverAccept(&server); if (new_sock.sockfd == ERROR) { return ERROR; } if (socketSend(&new_sock, NULL) == ERROR) { return ERROR; } serverArgumentsDestroy(&arguments); serverDestroy(&server); socketDestroy(&new_sock); fileDestroy(&file); return ZERO; }
Server * serverNew ( ServerInfo *info ) { Server *self; if ((self = calloc(1, sizeof(Server))) == NULL) { return NULL; } if (!serverInit (self, info)) { serverDestroy(&self); error("Server failed to initialize."); return NULL; } return self; }