OSDN Git Service

make sure mq_timedsend() and mq_send() is always defined
authorMike Frysinger <vapier@gentoo.org>
Thu, 29 Dec 2005 04:37:40 +0000 (04:37 -0000)
committerMike Frysinger <vapier@gentoo.org>
Thu, 29 Dec 2005 04:37:40 +0000 (04:37 -0000)
librt/mq_send.c

index 947e9fe..218157b 100644 (file)
@@ -9,11 +9,11 @@
 #include <mqueue.h>
 
 #ifdef __NR_mq_timedsend
-
 #define __NR___syscall_mq_timedsend __NR_mq_timedsend
 static inline _syscall5(int, __syscall_mq_timedsend, int, mqdes,
        const char *, msg_ptr, size_t, msg_len, unsigned int, msg_prio,
        const void *, abs_timeout);
+#endif
 
 /*
  * Add a message to queue. If O_NONBLOCK is set and queue is full, wait
@@ -23,14 +23,17 @@ int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len,
                unsigned int msg_prio,
                const struct timespec *abs_timeout)
 {
-    return __syscall_mq_timedsend(mqdes, msg_ptr, msg_len, msg_prio, abs_timeout);
+#ifdef __NR_mq_timedsend
+       return __syscall_mq_timedsend(mqdes, msg_ptr, msg_len, msg_prio, abs_timeout);
+#else
+       errno = ENOSYS;
+       return -1;
+#endif
 }
 
 /* Add a message to queue */
 int mq_send(mqd_t mqdes, const char *msg_ptr, size_t msg_len,
                unsigned int msg_prio)
 {
-    return mq_timedsend(mqdes, msg_ptr, msg_len, msg_prio, NULL);
+       return mq_timedsend(mqdes, msg_ptr, msg_len, msg_prio, NULL);
 }
-
-#endif