Пример #1
0
//Termination
void myth_fini_body(void)
{
	//add context switch as a sentinel for emitting logs
	int i;
	for (i=0;i<g_worker_thread_num;i++){
		myth_log_add_context_switch(&g_envs[i],THREAD_PTR_SCHED_TERM);
	}
	myth_startpoint_exit_ex_body(0);
	myth_running_env_t env;
	int rank;
	env=myth_get_current_env();
	rank=env->rank;
	assert(rank==0);
	//Wait for other worker threads
	for (i=1;i<g_worker_thread_num;i++){
		real_pthread_join(g_envs[i].worker,NULL);
	}
	myth_fini_ex_body();
}
Пример #2
0
/*
   Function: myth_fini_ex

   TODO: description.

   Parameters:

      x - TODO: parameters.

   Returns:

      TODO: return value.

   See Also:

      TODO: see also.
*/
void myth_fini_ex(void)
{
    myth_fini_ex_body();
}