示例#1
0
void
install_openprom_nodes(fcode_env_t *env)
{
	MYSELF = open_instance_chain(env, env->root_node, 0);
	if (MYSELF != NULL) {
		make_a_node(env, "openprom", 0);
		make_a_node(env, "client-services", 0);
		FORTH(0,	"claim",	claim);
		FORTH(0,	"release",	release);
		finish_device(env);
		finish_device(env);
		close_instance_chain(env, MYSELF, 0);
		device_end(env);
		MYSELF = 0;
	}
}
示例#2
0
/*
 * Stop system
 */
EXPORT void shutdown_system( INT fin )
{
	/* Stop subsystem */
	finish_subsystems();

	/* Platform dependent finalize sequence */
	finish_device();

	/* Stop library (libtk) */
	_FinishLibtk();

	/* Shutdown message output */
#if USE_KERNEL_MESSAGE
	if ( fin >= 0 ) {
	  tm_putstring((UB*)"\n<< SYSTEM SHUTDOWN >>\n");
	}
#endif
	/* Stop T-Kernel/SM */
	SystemManager(-1, NULL);

	/* Stop memory manager */
	finish_memmgr();

	/* Stop segment manager */
	finish_segmgr();

	if ( fin < 0 ) {
		/* Re-start sequence (platform dependent) */
		restart_device(fin);
	}

	/* Stop system */
	t_kernel_exit();
}
示例#3
0
Error AudioDriverWASAPI::reopen() {
	Error err = finish_device();
	if (err != OK) {
		ERR_PRINT("WASAPI: finish_device error");
	} else {
		err = init_device();
		if (err != OK) {
			ERR_PRINT("WASAPI: init_device error");
		} else {
			start();
		}
	}

	return err;
}
示例#4
0
void AudioDriverALSA::finish() {

	if (thread) {
		exit_thread = true;
		Thread::wait_to_finish(thread);

		memdelete(thread);
		thread = NULL;

		if (mutex) {
			memdelete(mutex);
			mutex = NULL;
		}
	}

	finish_device();
}