|
From: <pa...@us...> - 2003-08-09 19:35:31
|
Update of /cvsroot/emc/rtapi/examples/fifo
In directory sc8-pr-cvs1:/tmp/cvs-serv30095
Modified Files:
fifotask.c
Log Message:
Started using rtapi_print_dbg
Index: fifotask.c
===================================================================
RCS file: /cvsroot/emc/rtapi/examples/fifo/fifotask.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** fifotask.c 5 Aug 2003 03:51:00 -0000 1.8
--- fifotask.c 9 Aug 2003 19:35:28 -0000 1.9
***************
*** 11,15 ****
static rtapi_task_handle fifo_task = 0; /* the task structure */
static rtapi_fifo_handle fifo;
! enum { TIMER_PERIOD_NSEC = 10000000 }; /* timer period, in nanoseconds */
enum { FIFO_PERIOD_NSEC = 1000000000 }; /* timer period, in nanoseconds */
enum { FIFO_STACKSIZE = 1024 }; /* how big the stack is */
--- 11,15 ----
static rtapi_task_handle fifo_task = 0; /* the task structure */
static rtapi_fifo_handle fifo;
! enum { TIMER_PERIOD_NSEC = 10000000 }; /* timer period, in nanoseconds */
enum { FIFO_PERIOD_NSEC = 1000000000 }; /* timer period, in nanoseconds */
enum { FIFO_STACKSIZE = 1024 }; /* how big the stack is */
***************
*** 29,33 ****
rtapi_fifo_write(fifo, buffer, count);
buffer[n] = '\0';
! rtapi_print("fifotask: wrote '%s'\n", buffer);
count++;
if (count > 9)
--- 29,33 ----
rtapi_fifo_write(fifo, buffer, count);
buffer[n] = '\0';
! rtapi_print_dbg(4, "fifotask: wrote '%s'\n", buffer);
count++;
if (count > 9)
***************
*** 39,42 ****
--- 39,43 ----
}
+
/* part of the Linux kernel module that kicks off the fifo task */
int rtapi_app_main(void)
***************
*** 48,53 ****
retval = rtapi_fifo_new(FIFO_KEY, FIFO_SIZE, &fifo);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_fifo_new returned %d\n", retval);
! return -1;
}
--- 49,54 ----
retval = rtapi_fifo_new(FIFO_KEY, FIFO_SIZE, &fifo);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_fifo_new failed with %d\n", retval);
! goto no_fifo;
}
***************
*** 55,60 ****
retval = rtapi_clock_set_period(TIMER_PERIOD_NSEC);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_clock_set_period returned %d\n", retval);
! return -1;
}
--- 56,62 ----
retval = rtapi_clock_set_period(TIMER_PERIOD_NSEC);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_clock_set_period failed with %d\n",
! retval);
! goto no_task;
}
***************
*** 65,70 ****
retval = rtapi_task_new(&fifo_task);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_task_new returned %d\n", retval);
! return -1;
}
--- 67,72 ----
retval = rtapi_task_new(&fifo_task);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_task_new failed with %d\n", retval);
! goto no_task;
}
***************
*** 74,79 ****
FIFO_STACKSIZE, FIFO_PERIOD_NSEC, RTAPI_NO_FP);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_task_start returned %d\n", retval);
! return -1;
}
--- 76,81 ----
FIFO_STACKSIZE, FIFO_PERIOD_NSEC, RTAPI_NO_FP);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask init: rtapi_task_start failed with %d\n", retval);
! goto no_start;
}
***************
*** 81,84 ****
--- 83,94 ----
return 0;
+
+ /* clean up after failures so that the rtapi can be removed cleanly */
+ no_start:
+ rtapi_task_delete(fifo_task);
+ no_task:
+ rtapi_fifo_delete(fifo);
+ no_fifo:
+ return retval;
}
***************
*** 90,106 ****
retval = rtapi_task_stop(fifo_task);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask exit: rtapi_task_stop returned %d\n", retval);
! return;
}
retval = rtapi_task_delete(fifo_task);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask exit: rtapi_task_delete returned %d\n", retval);
! return;
}
retval = rtapi_fifo_delete(fifo);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask exit: rtapi_fifo_delete returned %d\n", retval);
! return;
}
--- 100,114 ----
retval = rtapi_task_stop(fifo_task);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask exit: rtapi_task_stop failed with %d\n", retval);
}
+
retval = rtapi_task_delete(fifo_task);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask exit: rtapi_task_delete failed with %d\n", retval);
}
retval = rtapi_fifo_delete(fifo);
if (retval != RTAPI_SUCCESS) {
! rtapi_print("fifotask exit: rtapi_fifo_delete failed with %d\n", retval);
}
|