summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter S. Mazinger <ps.m@gmx.net>2009-10-17 03:36:43 +0200
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>2009-11-19 23:04:18 +0100
commita193e5a08463ea97f55cb66ccd001f156ec7aa87 (patch)
tree45679508ff0138eefb52ca41dddb73d2b4cd0f42
parent13726cfc7c19328d6af0abd538baadfbf679856f (diff)
msgrcv is of type ssize_t
Signed-off-by: Peter S. Mazinger <ps.m@gmx.net> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-rw-r--r--include/sys/msg.h10
-rw-r--r--libc/misc/sysvipc/msgq.c4
2 files changed, 9 insertions, 5 deletions
diff --git a/include/sys/msg.h b/include/sys/msg.h
index 1fd64b2ac..cdc96be9b 100644
--- a/include/sys/msg.h
+++ b/include/sys/msg.h
@@ -1,4 +1,5 @@
-/* Copyright (C) 1995,1996,1997,1999,2000,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1995-1997,1999,2000,2003,2006,2007
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -21,6 +22,9 @@
#include <features.h>
+#define __need_size_t
+#include <stddef.h>
+
/* Get common definition of System V style IPC. */
#include <sys/ipc.h>
@@ -66,8 +70,8 @@ extern int msgget (key_t __key, int __msgflg) __THROW;
This function is a cancellation point and therefore not marked with
__THROW. */
-extern int msgrcv (int __msqid, void *__msgp, size_t __msgsz,
- long int __msgtyp, int __msgflg);
+extern ssize_t msgrcv (int __msqid, void *__msgp, size_t __msgsz,
+ long int __msgtyp, int __msgflg);
/* Send message to message queue.
diff --git a/libc/misc/sysvipc/msgq.c b/libc/misc/sysvipc/msgq.c
index e43a9ed04..dac886f7f 100644
--- a/libc/misc/sysvipc/msgq.c
+++ b/libc/misc/sysvipc/msgq.c
@@ -43,9 +43,9 @@ struct new_msg_buf{
#ifdef L_msgrcv
#ifdef __NR_msgrcv
-_syscall5(int, msgrcv, int, msqid, void *, msgp, size_t, msgsz, long int, msgtyp, int, msgflg)
+_syscall5(ssize_t, msgrcv, int, msqid, void *, msgp, size_t, msgsz, long int, msgtyp, int, msgflg)
#else
-int msgrcv (int msqid, void *msgp, size_t msgsz,
+ssize_t msgrcv (int msqid, void *msgp, size_t msgsz,
long int msgtyp, int msgflg)
{
struct new_msg_buf temp;