void masterKillHandler( int sig ) { kill( 0 , SIGTERM ); aeStop( servG->main_reactor->event_loop ); stopReactorThread( servG ); servG->running = 0; }
void destroyServer( aeServer* serv ) { //1,停止,释放线程 stopReactorThread( serv ); //释放收发缓冲区 freeConnectBuffers( serv ); //2,释放共享内存 shm_free( serv->connlist,1 ); //3,释放由zmalloc分配的内存 if( serv->reactorThreads ) { zfree( serv->reactorThreads ); } //4,释放N个woker缓冲区 freeWorkerBuffer( serv ); if( serv->workers ) { zfree( serv->workers ); } if( serv->mainReactor ) { zfree( serv->mainReactor ); } //4,最后释放这个全局大变量 if( serv != NULL ) { zfree( serv ); } puts("Master Exit ,Everything is ok !!!\n"); }