[git commit] librt: provide missing prototypes for mq_timedreceive, mq_timedsend

Bernhard Reutner-Fischer rep.dot.nop at gmail.com
Fri Jun 15 12:00:32 UTC 2012


commit: http://git.uclibc.org/uClibc/commit/?id=cfe1298282b9b49f11c0002b1f9cc98da2ad0065
branch: http://git.uclibc.org/uClibc/commit/?id=refs/heads/master

If ADVANCED_REALTIME is disabled, these prototypes are missing and
librt_hidden_proto() fails.
Makefile.in: added a comment, we build mq_timedreceive/mq_timedsend
on NPTL even if ADVANCED_REALTIME is disabled.

Signed-off-by: Peter S. Mazinger <ps.m at gmx.net>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop at gmail.com>
---
 librt/Makefile.in  |    1 +
 librt/mq_receive.c |    7 ++++++-
 librt/mq_send.c    |    6 +++++-
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/librt/Makefile.in b/librt/Makefile.in
index 857efb5..8555e94 100644
--- a/librt/Makefile.in
+++ b/librt/Makefile.in
@@ -28,6 +28,7 @@ librt_filter_SRC :=
 ifeq ($(UCLIBC_HAS_THREADS_NATIVE),y)
 librt_filter_SRC += mq_notify.c timer_create.c timer_delete.c \
 	timer_getoverr.c timer_gettime.c timer_settime.c
+# these should really be guarded by ADVANCED_REALTIME, we use them in mq_send.c/mq_receive.c
 librt_SSRC := $(wildcard $(librt_DIR)/*.S)
 else
 librt_filter_SRC += clock_nanosleep.c clock_getcpuclockid.c clock_gettime.c
diff --git a/librt/mq_receive.c b/librt/mq_receive.c
index 26fc451..2be1c1a 100644
--- a/librt/mq_receive.c
+++ b/librt/mq_receive.c
@@ -10,13 +10,18 @@
 #include <mqueue.h>
 
 #ifdef __UCLIBC_HAS_THREADS_NATIVE__
+# ifndef __UCLIBC_HAS_ADVANCED_REALTIME__
+extern ssize_t mq_timedreceive(mqd_t mqdes, char *msg_ptr, size_t msg_len,
+			       unsigned int *msg_prio,
+			       const struct timespec *abs_timeout);
+# endif
 librt_hidden_proto(mq_timedreceive)
 #else
 
 # define __NR___syscall_mq_timedreceive __NR_mq_timedreceive
 static _syscall5(int, __syscall_mq_timedreceive, int, mqdes,
 		 char *, msg_ptr, size_t, msg_len, unsigned int *,
-		 msg_prio, const void *, abs_timeout);
+		 msg_prio, const void *, abs_timeout)
 
 # ifdef __UCLIBC_HAS_ADVANCED_REALTIME__
 /*
diff --git a/librt/mq_send.c b/librt/mq_send.c
index 78308d8..5e50d1a 100644
--- a/librt/mq_send.c
+++ b/librt/mq_send.c
@@ -10,13 +10,17 @@
 #include <mqueue.h>
 
 #ifdef __UCLIBC_HAS_THREADS_NATIVE__
+# ifndef __UCLIBC_HAS_ADVANCED_REALTIME__
+extern int mq_timedsend(mqd_t mqdes, const char *msg_ptr, size_t msg_len,
+			unsigned int msg_prio, const struct timespec *abs_timeout);
+# endif
 librt_hidden_proto(mq_timedsend)
 #else
 
 # define __NR___syscall_mq_timedsend __NR_mq_timedsend
 static _syscall5(int, __syscall_mq_timedsend, int, mqdes,
 		 const char *, msg_ptr, size_t, msg_len, unsigned int,
-		 msg_prio, const void *, abs_timeout);
+		 msg_prio, const void *, abs_timeout)
 
 # ifdef __UCLIBC_HAS_ADVANCED_REALTIME__
 /*


More information about the uClibc-cvs mailing list