Пример #1
0
int init_module(void)
{
	printk("TESTING RTDM MUTEXes [LOOPs %d, TIMEOUTs %d (ns)].\n", LOOPS, DELAY);
	start_rt_timer(0);
	rtdm_sem_init(&sem, 0);    
	rtdm_mutex_init(&mutex);    
	rtdm_task_init_cpuid(&stask1, "task1", task1, NULL, 0, 0, 0);
	rtdm_task_init_cpuid(&stask2, "task2", task2, NULL, 1, 0, 0);
	return 0;
}
Пример #2
0
static int rtdmtest_open(struct rtdm_dev_context *context,
			 rtdm_user_info_t *user_info, int oflags)
{
	struct rtdmtest_context *ctx;

	ctx = (struct rtdmtest_context *)context->dev_private;

	ctx->event.state = 0;
	rtdm_event_init(&ctx->event, 0);
	rtdm_sem_init(&ctx->sem, 0);
	rtdm_lock_count = 0;
	rtdm_mutex_init(&ctx->mutex);
	init_MUTEX(&ctx->nrt_mutex);
	if (rtdm_nrtsig_init(&ctx->nrtsig, rtdmtest_nrtsig_handler)) {
	    printk("rtdm_nrtsig_init failed\n");
	    return -EINVAL;
	}

	return 0;
}