int job_init(void) { // globalpool = (jobpool*)malloc(sizeof(jobpool)); exiting = 0; globalpool = job_pool_new(cfg_getuint32("WORKERS_QUEUE_LENGTH",250)); // deprecated option job_reload(); main_destruct_register(job_term); main_wantexit_register(job_wantexit); main_canexit_register(job_canexit); main_reload_register(job_reload); main_eachloop_register(job_heavyload_test); main_poll_register(job_desc,job_serve); return 0; }
//向Master注册,调用masterconn_sendregister()封装注册packet //调用:masterconn_initconnect() void masterconn_connected(masterconn *eptr) { #ifdef BGJOBS eptr->jpool = job_pool_new(10,BGJOBSCNT,&(eptr->jobfd)); #endif tcpnodelay(eptr->sock); eptr->mode=HEADER; eptr->inputpacket.next = NULL; eptr->inputpacket.bytesleft = 8; eptr->inputpacket.startptr = eptr->hdrbuff; eptr->inputpacket.packet = NULL; eptr->outputhead = NULL; eptr->outputtail = &(eptr->outputhead); masterconn_sendregister(eptr); eptr->lastread = eptr->lastwrite = main_time(); }