Exemple #1
0
int main_gc(void) {
	struct hardware_t *hardware = NULL;	
	unsigned short match = 0;

	log_shell_disable();

	struct hardwares_t *htmp = hardwares;
	match = 0;
	while(htmp) {
		if(strcmp(htmp->listener->id, hw_mode) == 0) {
			hardware = htmp->listener;
			match = 1;
			break;
		}
		htmp = htmp->next;
	}
	if(match == 1 && hardware->deinit) {
		hardware->deinit();
	}		

	threads_gc();	
	options_gc();
	settings_gc();	
	hardware_gc();
	log_gc();

	sfree((void *)&progname);
	sfree((void *)&settingsfile);	

	return EXIT_SUCCESS;
}
Exemple #2
0
int main_gc(void) {
	main_loop = 0;

	log_shell_disable();

	struct conf_hardware_t *tmp_confhw = conf_hardware;
	while(tmp_confhw) {
		if(tmp_confhw->hardware->deinit) {
			tmp_confhw->hardware->deinit();
		}
		tmp_confhw = tmp_confhw->next;
	}

	threads_gc();
	pthread_join(pth, NULL);

	options_gc();
	settings_gc();
	hardware_gc();
	dso_gc();
	log_gc();

	sfree((void *)&progname);

	return EXIT_SUCCESS;
}