If sizeof time_t bigger than 4, which means glibc supports
64bit timespec, go to mq_timedsend64.

otherwise, go to original mq_timedsend.

Signed-off-by: Song Chen <[email protected]>
---
 lib/cobalt/mq.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/cobalt/mq.c b/lib/cobalt/mq.c
index 471d9b3..59e46f2 100644
--- a/lib/cobalt/mq.c
+++ b/lib/cobalt/mq.c
@@ -332,8 +332,13 @@ COBALT_IMPL(int, mq_send, (mqd_t q, const char *buffer, 
size_t len, unsigned pri
 
        pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, &oldtype);
 
+#ifdef __USE_TIME_BITS64
+       err = XENOMAI_SYSCALL5(sc_cobalt_mq_timedsend64,
+                              q, buffer, len, prio, NULL);
+#else
        err = XENOMAI_SYSCALL5(sc_cobalt_mq_timedsend,
                               q, buffer, len, prio, NULL);
+#endif
 
        pthread_setcanceltype(oldtype, NULL);
 
-- 
2.7.4


Reply via email to