int cpFork_one_worker(int worker_id) { int pid, ret; pid = fork(); if (pid < 0) { cpLog("Fork Worker failed. Error: %s [%d]", strerror(errno), errno); return FAILURE; } else if (pid == 0) { //标识为worker进程 CPGL.process_type = CP_PROCESS_WORKER; CPGS->workers[worker_id].run = 1; ret = cpWorker_loop(worker_id); exit(ret); } else { return pid; } }
int cpFork_one_worker(int worker_id, int group_id) { int pid, ret; pid = fork(); if (pid < 0) { cpLog("Fork Worker failed. Error: %s [%d]", strerror(errno), errno); return FAILURE; } else if (pid == 0) { ret = cpWorker_loop(worker_id, group_id); exit(ret); } else { return pid; } }