summaryrefslogtreecommitdiff
path: root/signalfd.c
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2015-08-03 09:47:25 +0000
committerDmitry V. Levin <ldv@altlinux.org>2015-08-03 09:57:14 +0000
commit30ac0627f29756306b307504bd35bc5e79288f56 (patch)
treea84b69fab8792e73c61801cd47f26a461e12e0de /signalfd.c
parent9e8a84fa3d5ca242b1a05fed1f06c9c3c08b1a2e (diff)
downloadstrace-30ac0627f29756306b307504bd35bc5e79288f56.tar.gz
signalfd4: fix flags decoding
* configure.ac (AC_CHECK_FUNCS): Add eventfd. (AC_CHECK_HEADERS): Add sys/signalfd.h. * signalfd.c: Include <fcntl.h>. [HAVE_SYS_SIGNALFD_H] Include <sys/signalfd.h>. Include "xlat/sfd_flags.h". (do_signalfd): Use sfd_flags for flags decoding. * xlat/sfd_flags.in: New file. * tests/signalfd.c: Likewise. * tests/signalfd.expected: Likewise. * tests/signalfd.test: New test. * tests/Makefile.am (check_PROGRAMS): Add signalfd. (TESTS): Add signalfd.test. (EXTRA_DIST): Add signalfd.expected. * tests/.gitignore: Add signalfd.
Diffstat (limited to 'signalfd.c')
-rw-r--r--signalfd.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/signalfd.c b/signalfd.c
index f574d1b1c..4cfd6de5f 100644
--- a/signalfd.c
+++ b/signalfd.c
@@ -1,4 +1,10 @@
#include "defs.h"
+#include <fcntl.h>
+#ifdef HAVE_SYS_SIGNALFD_H
+# include <sys/signalfd.h>
+#endif
+
+#include "xlat/sfd_flags.h"
static int
do_signalfd(struct tcb *tcp, int flags_arg)
@@ -10,7 +16,7 @@ do_signalfd(struct tcb *tcp, int flags_arg)
tprintf(", %lu", tcp->u_arg[2]);
if (flags_arg >= 0) {
tprints(", ");
- printflags(open_mode_flags, tcp->u_arg[flags_arg], "O_???");
+ printflags(sfd_flags, tcp->u_arg[flags_arg], "SFD_???");
}
return RVAL_DECODED | RVAL_FD;