Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F143460919
D44238.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D44238.diff
View Options
diff --git a/lib/libc/include/libc_private.h b/lib/libc/include/libc_private.h
--- a/lib/libc/include/libc_private.h
+++ b/lib/libc/include/libc_private.h
@@ -414,8 +414,7 @@
int __libc_sigprocmask(int, const __sigset_t *, __sigset_t *)
__hidden;
int __libc_sigsuspend(const __sigset_t *) __hidden;
-int __libc_sigwait(const __sigset_t * __restrict,
- int * restrict sig);
+int __libsys_sigwait(const __sigset_t *, int *) __hidden;
int __libc_system(const char *);
int __libc_tcdrain(int);
diff --git a/lib/libsys/Makefile.sys b/lib/libsys/Makefile.sys
--- a/lib/libsys/Makefile.sys
+++ b/lib/libsys/Makefile.sys
@@ -37,7 +37,8 @@
__getosreldate.c \
getpagesize.c \
getpagesizes.c \
- interposing_table.c
+ interposing_table.c \
+ libsys_sigwait.c
SRCS+= getdents.c lstat.c mknod.c stat.c
diff --git a/lib/libsys/Symbol.sys.map b/lib/libsys/Symbol.sys.map
--- a/lib/libsys/Symbol.sys.map
+++ b/lib/libsys/Symbol.sys.map
@@ -433,7 +433,6 @@
FBSDprivate_1.0 {
/* Add entries in sort(1) order */
- __libc_sigwait;
__libsys_interposing_slot;
__set_error_selector;
__sigwait;
diff --git a/lib/libsys/interposing_table.c b/lib/libsys/interposing_table.c
--- a/lib/libsys/interposing_table.c
+++ b/lib/libsys/interposing_table.c
@@ -59,7 +59,7 @@
SLOT(sigaction, __sys_sigaction),
SLOT(sigprocmask, __sys_sigprocmask),
SLOT(sigsuspend, __sys_sigsuspend),
- SLOT(sigwait, __libc_sigwait),
+ SLOT(sigwait, __libsys_sigwait),
SLOT(sigtimedwait, __sys_sigtimedwait),
SLOT(sigwaitinfo, __sys_sigwaitinfo),
SLOT(swapcontext, __sys_swapcontext),
diff --git a/lib/libsys/sigwait.c b/lib/libsys/libsys_sigwait.c
copy from lib/libsys/sigwait.c
copy to lib/libsys/libsys_sigwait.c
--- a/lib/libsys/sigwait.c
+++ b/lib/libsys/libsys_sigwait.c
@@ -29,23 +29,16 @@
#include <signal.h>
#include "libc_private.h"
-__weak_reference(__libc_sigwait, __sigwait);
+/* XXX: why does this symbol exist? */
+__weak_reference(__libsys_sigwait, __sigwait);
-#pragma weak sigwait
int
-sigwait(const sigset_t *set, int *sig)
-{
- return (((int (*)(const sigset_t *, int *))
- __libsys_interposing[INTERPOS_sigwait])(set, sig));
-}
-
-int
-__libc_sigwait(const sigset_t *set, int *sig)
+__libsys_sigwait(const sigset_t *set, int *sig)
{
int ret;
/* POSIX does not allow EINTR to be returned */
- do {
+ do {
ret = __sys_sigwait(set, sig);
} while (ret == EINTR);
return (ret);
diff --git a/lib/libsys/sigwait.c b/lib/libsys/sigwait.c
--- a/lib/libsys/sigwait.c
+++ b/lib/libsys/sigwait.c
@@ -25,12 +25,9 @@
* SUCH DAMAGE.
*/
-#include <errno.h>
#include <signal.h>
#include "libc_private.h"
-__weak_reference(__libc_sigwait, __sigwait);
-
#pragma weak sigwait
int
sigwait(const sigset_t *set, int *sig)
@@ -38,15 +35,3 @@
return (((int (*)(const sigset_t *, int *))
__libsys_interposing[INTERPOS_sigwait])(set, sig));
}
-
-int
-__libc_sigwait(const sigset_t *set, int *sig)
-{
- int ret;
-
- /* POSIX does not allow EINTR to be returned */
- do {
- ret = __sys_sigwait(set, sig);
- } while (ret == EINTR);
- return (ret);
-}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Jan 31, 4:19 PM (18 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28125510
Default Alt Text
D44238.diff (3 KB)
Attached To
Mode
D44238: libsys: don't expose sigwait wrapper
Attached
Detach File
Event Timeline
Log In to Comment