/* part of the Linux kernel module that stops the fifo task */
void rtapi_app_exit(void)
{
    int retval;

    retval = rtapi_task_pause(fifo_task);
    if (retval < 0) {
	rtapi_print("fifotask exit: rtapi_task_stop failed with %d\n",
	    retval);
    }

    retval = rtapi_task_delete(fifo_task);
    if (retval < 0) {
	rtapi_print("fifotask exit: rtapi_task_delete failed with %d\n",
	    retval);
    }

    retval = rtapi_fifo_delete(fifo, module);
    if (retval < 0) {
	rtapi_print("fifotask exit: rtapi_fifo_delete failed with %d\n",
	    retval);
    }

    rtapi_print("fifotask exit: done\n");

    rtapi_exit(module);
}
Exemple #2
0
/* part of the Linux kernel module that stops the shmem task */
void rtapi_app_exit(void)
{
    int retval;

    if (0 != shmem_struct) {
	rtapi_print("shmemtask exit: heartbeat is %u\n",
	    shmem_struct->heartbeat);
    }

    retval = rtapi_task_pause(shmem_task);
    if (retval < 0) {
	rtapi_print("shmemtask exit: rtapi_task_stop returned %d\n", retval);
    }
    retval = rtapi_task_delete(shmem_task);
    if (retval < 0) {
	rtapi_print("shmemtask exit: rtapi_task_delete returned %d\n",
	    retval);
    }
    retval = rtapi_shmem_delete(shmem_mem, module);
    if (retval < 0) {
	rtapi_print("shmemtask exit: rtapi_shmem_delete returned %d\n",
	    retval);
    }
    /* Clean up and exit */
    rtapi_exit(module);
}
Exemple #3
0
/* part of the Linux kernel module that stops the slave task */
void rtapi_app_exit(void)
{
    int retval;

    retval = rtapi_task_pause(slave_task);
    if (retval != RTAPI_SUCCESS) {
	rtapi_print("sem slave exit: rtapi_task_stop returned %d\n", retval);
    }
    retval = rtapi_task_delete(slave_task);
    if (retval != RTAPI_SUCCESS) {
	rtapi_print("sem slave exit: rtapi_task_delete returned %d\n",
	    retval);
    }

    retval = rtapi_sem_delete(slave_sem, module);
    if (retval != RTAPI_SUCCESS) {
	rtapi_print("sem slave exit: rtapi_sem_delete returned %d\n", retval);
    }
    rtapi_print("sem slave exit: slave count is %d\n", slave_count);

    rtapi_exit(module);
}
Exemple #4
0
/* rtapi_app_exit() is substituted for cleanup_module() by a
   macro in rtapi_app.h */
void rtapi_app_exit(void)
{
    int retval;

    /* Stop the task */
    retval = rtapi_task_pause(timer_task);
    if (retval < 0) {
	rtapi_print("timertask exit: rtapi_task_pause returned %d\n", retval);
    }
    /* Remove the task from the list */

    retval = rtapi_task_delete(timer_task);
    if (retval < 0) {
	rtapi_print("timertask exit: rtapi_task_delete returned %d\n",
	    retval);
    }

    /* Print the final count just to show that the task did it's job */
    rtapi_print("timertask exit: timer count is %d\n", timer_count);
    /* Clean up and exit */
    rtapi_exit(module);

}