]> granicus.if.org Git - strace/commitdiff
2007-07-23 Ulrich Drepper <drepper@redhat.com>
authorRoland McGrath <roland@redhat.com>
Thu, 2 Aug 2007 01:15:59 +0000 (01:15 +0000)
committerRoland McGrath <roland@redhat.com>
Thu, 2 Aug 2007 01:15:59 +0000 (01:15 +0000)
* linux/syscall.h: Declare sys_signalfd.
* linux/syscallent.h: Add entry for signalfd.
* linux/x86_64/syscallent.h: Likewise.
* signal.c (sys_signalfd): New function.

linux/syscall.h
linux/syscallent.h
linux/x86_64/syscallent.h
signal.c

index 9a2e42669b985f72c5f94170117dd0baa93064f5..37a7eec05d28955ec2b16fb7d3307db9f8a32b0b 100644 (file)
@@ -102,7 +102,7 @@ int sys_waitid(), sys_fadvise64(), sys_fadvise64_64();
 int sys_mbind(), sys_get_mempolicy(), sys_set_mempolicy(), sys_move_pages();
 int sys_arch_prctl();
 int sys_io_setup(), sys_io_submit(), sys_io_cancel(), sys_io_getevents(), sys_io_destroy();
-int sys_utimensat(), sys_epoll_pwait();
+int sys_utimensat(), sys_epoll_pwait(), sys_signalfd();
 
 /* sys_socketcall subcalls */
 
index 862b604dc112640722cf44ed2ea44085c5d82e33..8abdbb062ec2ebcf5350cf7ff1e102c8d5ac3546 100644 (file)
        { 5,    0,      printargs,              "SYS_318"       }, /* 318 */
        { 5,    TD,     sys_epoll_pwait,        "epoll_pwait"   }, /* 319 */
        { 4,    TD|TF,  sys_utimensat,          "utimensat"     }, /* 320 */
-       { 5,    0,      printargs,              "SYS_321"       }, /* 321 */
+       { 3,    TD|TS,  sys_signalfd,           "signalfd"      }, /* 321 */
        { 5,    0,      printargs,              "SYS_322"       }, /* 322 */
        { 5,    0,      printargs,              "SYS_323"       }, /* 323 */
        { 5,    0,      printargs,              "SYS_324"       }, /* 324 */
index 57f821ece7a645bfc2b818a454f66b5262864cd9..c561b847f6858671f4a41278fac5b9b8d29aa52a 100644 (file)
        { 6,    0,      sys_move_pages,         "move_pages"    }, /* 279 */
        { 4,    TD|TF,  sys_utimensat,          "utimensat"     }, /* 280 */
        { 5,    TD,     sys_epoll_pwait,        "epoll_pwait"   }, /* 281 */
+       { 3,    TD|TS,  sys_signalfd,           "signalfd"      }, /* 282 */
index 9a80bb9224f41f677ef48ddba53f90ea8500f375..dc178dfe9e9fb6d8f5ff960234624966b9fa01a7 100644 (file)
--- a/signal.c
+++ b/signal.c
@@ -1972,4 +1972,15 @@ struct tcb *tcp;
        return 0;
 }
 
+int
+sys_signalfd(tcp)
+struct tcb *tcp;
+{
+       if (entering(tcp)) {
+               tprintf("%ld, ", tcp->u_arg[0]);
+               print_sigset(tcp, tcp->u_arg[1], 1);
+               tprintf("%lu", tcp->u_arg[2]);
+       }
+       return 0;
+}
 #endif /* LINUX */