Exemplo n.º 1
0
Arquivo: osa_thr.c Projeto: 119/ipnc
int OSA_thrDelete(OSA_ThrHndl *hndl)
{
  int status=OSA_SOK;
  
  status |= pthread_cancel(hndl->hndl); 
  status |= OSA_thrJoin(hndl);
  
  return status;    
}
Exemplo n.º 2
0
void stop_all_threads()
{
	gblSetQuit();

	int i;
	for (i = 0; i < NUM_OF_THREADS; i++)
	{
		if (i == ALARM_INPUT_THR)
			OSA_thrDelete(&g_threadMgr.hThread[i]);
		else
			OSA_thrJoin(&g_threadMgr.hThread[i]);
		printf("[main] join threads: %d\n", i);
	}
}
Exemplo n.º 3
0
//static int g_detele_i = 0;
int OSA_thrDelete(OSA_ThrHndl *hndl)
{

  int status=OSA_SOK;
  if(hndl == NULL || hndl->hndl == 0)
  {
  //	printf("ERROR,OSA_thrDelete\n");
  	return OSA_EFAIL;
  }
 //	 printf("OSA_thrDelete  hndl =%d\n",hndl->hndl);
//	printf("OSA_thrDelete %d thr ,and hndl = %d\n",g_detele_i++,hndl->hndl);

  status |= pthread_cancel(hndl->hndl); 
  status |= OSA_thrJoin(hndl);
  return status;    
}