Ejemplo n.º 1
0
static void DaoCallServer_Delete( DaoCallServer *self )
{
	daoint i;
	for(i=0; i<self->threads->size; i++){
		DaoCallThread_Delete( (DaoCallThread*)self->threads->items.pVoid[i] );
	}
	for(i=0; i<self->caches->size; ++i){
		DaoTaskEvent_Delete( (DaoTaskEvent*) self->caches->items.pVoid[i] );
	}
	DList_Delete( self->threads );
	DList_Delete( self->functions );
	DList_Delete( self->parameters );
	DList_Delete( self->owners );
	DList_Delete( self->events );
	DList_Delete( self->events2 );
	DList_Delete( self->caches );
	DMap_Delete( self->waitings );
	DMap_Delete( self->pending );
	DMap_Delete( self->active );
	DMutex_Destroy( & self->mutex );
	DCondVar_Destroy( & self->condv );
	DCondVar_Destroy( & self->condv2 );
	DThread_Destroy( & self->timer );
	dao_free( self );
}
Ejemplo n.º 2
0
static void DaoThread_SysQuit()
{
	DThread *self = & mainThread;

	DThread_Destroy( self );
	pthread_key_delete( thdSpecKey );
}
Ejemplo n.º 3
0
static void DaoCallThread_Delete( DaoCallThread *self )
{
	// XXX self->thdData
	DThread_Destroy( & self->thread );
	dao_free( self );
}
Ejemplo n.º 4
0
static void DaoTaskletThread_Delete( DaoTaskletThread *self )
{
	DThread_Destroy( & self->thread );
	dao_free( self );
}
Ejemplo n.º 5
0
static void DaoThread_SysQuit()
{
	DThread_Destroy( & mainThread );
	TlsFree( thdSpecKey );
}