From f46ccd32cf682e2ca554232e106f012ab8ead04e Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 2 Aug 2007 01:15:59 +0000 Subject: [PATCH] 2007-07-23 Ulrich Drepper * 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 | 2 +- linux/syscallent.h | 2 +- linux/x86_64/syscallent.h | 1 + signal.c | 11 +++++++++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/linux/syscall.h b/linux/syscall.h index 9a2e4266..37a7eec0 100644 --- a/linux/syscall.h +++ b/linux/syscall.h @@ -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 */ diff --git a/linux/syscallent.h b/linux/syscallent.h index 862b604d..8abdbb06 100644 --- a/linux/syscallent.h +++ b/linux/syscallent.h @@ -351,7 +351,7 @@ { 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 */ diff --git a/linux/x86_64/syscallent.h b/linux/x86_64/syscallent.h index 57f821ec..c561b847 100644 --- a/linux/x86_64/syscallent.h +++ b/linux/x86_64/syscallent.h @@ -280,3 +280,4 @@ { 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 */ diff --git a/signal.c b/signal.c index 9a80bb92..dc178dfe 100644 --- 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 */ -- 2.50.1