Exemple #1
0
static void EsifDataLogExit(esif_thread_t *dataLogThread)
{
	g_dataLogQuit = ESIF_TRUE;
	esif_ccb_event_set(&g_dataLogQuitEvent);

	esif_ccb_thread_join(dataLogThread);
	esif_ccb_event_uninit(&g_dataLogQuitEvent);
}
Exemple #2
0
void EsifEventMgr_Disable(void)
{
	ESIF_TRACE_ENTRY_INFO();

	/* Release and destroy the event thread */
	g_EsifEventMgr.eventQueueExitFlag = ESIF_TRUE;
	esif_queue_signal_event(g_EsifEventMgr.eventQueuePtr);
	esif_ccb_thread_join(&g_EsifEventMgr.eventQueueThread);

	ESIF_TRACE_EXIT_INFO();
}
Exemple #3
0
/* stop web server and wait for worker threads to exit */
void esif_ws_exit(esif_thread_t *threadPtr)
{
	CMD_OUT("Stopping WebServer...\n");
	atomic_set(&g_ws_quit, 1);
	esif_ccb_thread_join(threadPtr);  /* join to close child thread, clean up handle */
	// Wait for worker thread to finish
	while (atomic_read(&g_ws_threads) > 0) {
		esif_ccb_sleep(1);
	}
	esif_ccb_mutex_uninit(&g_web_socket_lock);
	atomic_set(&g_ws_quit, 0);
	CMD_OUT("WebServer Stopped\n");
}