]> rtime.felk.cvut.cz Git - CanFestival-3.git/commitdiff
Fixed segfault on quit with Xenomai, due to bat parameter type in waitReceiveTaskEnd.
authoretisserant <etisserant>
Tue, 19 Feb 2008 13:52:40 +0000 (13:52 +0000)
committeretisserant <etisserant>
Tue, 19 Feb 2008 13:52:40 +0000 (13:52 +0000)
drivers/timers_unix/timers_unix.c
drivers/unix/unix.c
include/timers_driver.h

index 5a53cf53798868f29d3d9bbada6506bedc5eccfe..f2e3ba3ba1a4b7f739b55394a74b8c2dfef53dd4 100644 (file)
@@ -73,10 +73,10 @@ void CreateReceiveTask(CAN_PORT port, TASK_HANDLE* Thread, void* ReceiveLoopPtr)
        pthread_create(Thread, NULL, ReceiveLoopPtr, (void*)port);
 }
 
-void WaitReceiveTaskEnd(TASK_HANDLE Thread)
+void WaitReceiveTaskEnd(TASK_HANDLE *Thread)
 {
-       pthread_kill(Thread, SIGTERM);
-       pthread_join(Thread, NULL);
+       pthread_kill(*Thread, SIGTERM);
+       pthread_join(*Thread, NULL);
 }
 
 #define maxval(a,b) ((a>b)?a:b)
index 074272f33c61d04b365af1ee003f294d02819a57..6d46c5bbd4de210f7377e152d4de7c21075b9777 100644 (file)
@@ -190,7 +190,7 @@ int canClose(CO_Data * d)
        
        int res = DLL_CALL(canClose)(tmp->fd);
        
-       WaitReceiveTaskEnd(tmp->receiveTask);
+       WaitReceiveTaskEnd(&tmp->receiveTask);
        return res;
 }
 
index c6b7d75fce96911f551d676eeeb8cfbd6e5ba73b..0504a51623c28b685319ffb5b0409dc21935747a 100644 (file)
@@ -30,7 +30,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 // For use from CAN driver
 void EnterMutex(void);
 void LeaveMutex(void);
-void WaitReceiveTaskEnd(TASK_HANDLE);
+void WaitReceiveTaskEnd(TASK_HANDLE*);
 
 // For use from application
 void StartTimerLoop(TimerCallback_t init_callback);