void destroyServer( appnetServer *serv ) { freeReactorThread( serv ); freeConnectBuffers( serv ); shm_free( serv->connlist , 1 ); if (serv->reactor_threads) { zfree( serv->reactor_threads ); } freeWorkerBuffer( serv ); if (serv->workers) { zfree( serv->workers ); } if (serv->main_reactor) { zfree( serv->main_reactor ); } if (serv != NULL) { zfree( serv ); } puts( "Master Exit ,Everything is ok !!!\n" ); }
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"); }