]> granicus.if.org Git - strace/commitdiff
2007-07-23 Ulrich Drepper <drepper@redhat.com>
authorRoland McGrath <roland@redhat.com>
Thu, 2 Aug 2007 01:13:26 +0000 (01:13 +0000)
committerRoland McGrath <roland@redhat.com>
Thu, 2 Aug 2007 01:13:26 +0000 (01:13 +0000)
* desc.c (sys_epoll_wait): Move body of function to ...
(epoll_wait_common): ...here.  New function.
(sys_epoll_pwait): New function.
* linux/syscall.h: Declare sys_epoll_pwait.
* linux/syscallent.h: Add entry for epoll_pwait.
* linux/x86_64/syscallent.h: Likewise.

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

diff --git a/desc.c b/desc.c
index 31af6c1949efe29a94d4bc77687b51330fe370ad..9c26b6334d62882703b82257eedae9e21c0ea1d7 100644 (file)
--- a/desc.c
+++ b/desc.c
@@ -669,8 +669,8 @@ struct tcb *tcp;
        return 0;
 }
 
-int
-sys_epoll_wait(tcp)
+static void
+epoll_wait_common(tcp)
 struct tcb *tcp;
 {
        if (entering(tcp))
@@ -708,6 +708,23 @@ struct tcb *tcp;
                }
                tprintf(", %ld, %ld", tcp->u_arg[2], tcp->u_arg[3]);
        }
+}
+
+int
+sys_epoll_wait(tcp)
+struct tcb *tcp;
+{
+       epoll_wait_common(tcp);
+       return 0;
+}
+
+int
+sys_epoll_pwait(tcp)
+struct tcb *tcp;
+{
+       epoll_wait_common(tcp);
+       if (exiting(tcp))
+               print_sigset(tcp, tcp->u_arg[4], 0);
        return 0;
 }
 
index 1922ee01fa12297f623d7519d3cde5d8622351ec..9a2e42669b985f72c5f94170117dd0baa93064f5 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();
+int sys_utimensat(), sys_epoll_pwait();
 
 /* sys_socketcall subcalls */
 
index 581f5b6534ee8de6093a8d9947f1a0002de9b1b4..862b604dc112640722cf44ed2ea44085c5d82e33 100644 (file)
        { 4,    TD,     printargs,              "vmsplice"      }, /* 316 */
        { 6,    0,      sys_move_pages,         "move_pages"    }, /* 317 */
        { 5,    0,      printargs,              "SYS_318"       }, /* 318 */
-       { 5,    0,      printargs,              "SYS_319"       }, /* 319 */
+       { 5,    TD,     sys_epoll_pwait,        "epoll_pwait"   }, /* 319 */
        { 4,    TD|TF,  sys_utimensat,          "utimensat"     }, /* 320 */
        { 5,    0,      printargs,              "SYS_321"       }, /* 321 */
        { 5,    0,      printargs,              "SYS_322"       }, /* 322 */
index fb68ec30b57f0ee400b81339226bb2633ba178e3..57f821ece7a645bfc2b818a454f66b5262864cd9 100644 (file)
        { 4,    TD,     printargs,              "vmsplice"      }, /* 278 */
        { 6,    0,      sys_move_pages,         "move_pages"    }, /* 279 */
        { 4,    TD|TF,  sys_utimensat,          "utimensat"     }, /* 280 */
+       { 5,    TD,     sys_epoll_pwait,        "epoll_pwait"   }, /* 281 */