예제 #1
0
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" );
}
예제 #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");
}