Ejemplo n.º 1
0
void masterKillHandler( int sig )
{
	kill( 0 , SIGTERM );
	aeStop( servG->main_reactor->event_loop );
	stopReactorThread( servG );
	servG->running = 0;
}
Ejemplo n.º 2
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");
}