posix: Consolidate Linux mq_timedreceive syscall
This patch consolidates the mq_timedreceive Linux syscall generation on sysdeps/unix/sysv/linux/mq_timedreceive.c. It basically removes it from architecture auto-generation list. Checked on i686-linux-gnu, x86_64-linux-gnu, x86_64-linux-gnux32, arch64-linux-gnu, arm-linux-gnueabihf, powerpc64le-linux-gnu, sparc64-linux-gnu, and sparcv9-linux-gnu. * rt/Makefile (CFLAGS-mq_timedreceive.c): New flag. * sysdeps/unix/sysv/linux/mq_timedreceive.c: New file. * sysdeps/unix/sysv/linux/syscalls.list (mq_timedreceive): Remove from auto-generation list.
This commit is contained in:
parent
a5a34d2eaf
commit
a5fdd30597
@ -1,5 +1,10 @@
|
||||
2017-05-18 Adhemerval Zanella <adhemerval.zanella@linaro.org>
|
||||
|
||||
* rt/Makefile (CFLAGS-mq_timedreceive.c): New flag.
|
||||
* sysdeps/unix/sysv/linux/mq_timedreceive.c: New file.
|
||||
* sysdeps/unix/sysv/linux/syscalls.list (mq_timedreceive): Remove
|
||||
from auto-generation list.
|
||||
|
||||
* sysdeps/unix/sysv/linux/Makefile (sysdep_routines): Add
|
||||
open_by_handle_at.
|
||||
(CFLAGS-open_by_handle_at.c): New flag.
|
||||
|
@ -61,6 +61,7 @@ extra-libs-others := $(extra-libs)
|
||||
include ../Rules
|
||||
|
||||
CFLAGS-aio_suspend.c = -fexceptions
|
||||
CFLAGS-mq_timedreceive.c = -fexceptions -fasynchronous-unwind-tables
|
||||
CFLAGS-clock_nanosleep.c = -fexceptions -fasynchronous-unwind-tables
|
||||
CFLAGS-librt-cancellation.c = -fasynchronous-unwind-tables
|
||||
|
||||
|
34
sysdeps/unix/sysv/linux/mq_timedreceive.c
Normal file
34
sysdeps/unix/sysv/linux/mq_timedreceive.c
Normal file
@ -0,0 +1,34 @@
|
||||
/* Receive a message from a message queue with a timeout. Linux version.
|
||||
Copyright (C) 2017 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
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <mqueue.h>
|
||||
#include <sysdep-cancel.h>
|
||||
|
||||
/* Receive the oldest from highest priority messages in message queue
|
||||
MQDES, stop waiting if ABS_TIMEOUT expires. */
|
||||
ssize_t
|
||||
__mq_timedreceive (mqd_t mqdes, char *__restrict msg_ptr, size_t msg_len,
|
||||
unsigned int *__restrict msg_prio,
|
||||
const struct timespec *__restrict abs_timeout)
|
||||
{
|
||||
return SYSCALL_CANCEL (mq_timedreceive, mqdes, msg_ptr, msg_len, msg_prio,
|
||||
abs_timeout);
|
||||
}
|
||||
hidden_def (__mq_timedreceive)
|
||||
weak_alias (__mq_timedreceive, mq_timedreceive)
|
||||
hidden_weak (mq_timedreceive)
|
@ -96,7 +96,6 @@ lremovexattr - lremovexattr i:ss lremovexattr
|
||||
fremovexattr - fremovexattr i:is fremovexattr
|
||||
|
||||
mq_timedsend - mq_timedsend Ci:ipiip __mq_timedsend mq_timedsend
|
||||
mq_timedreceive - mq_timedreceive Ci:ipipp __mq_timedreceive mq_timedreceive
|
||||
mq_setattr - mq_getsetattr i:ipp mq_setattr
|
||||
|
||||
timerfd_create EXTRA timerfd_create i:ii timerfd_create
|
||||
|
Loading…
x
Reference in New Issue
Block a user