diff --git a/linux/dummy.h b/linux/dummy.h index 63e5aa86..281e24d3 100644 --- a/linux/dummy.h +++ b/linux/dummy.h @@ -64,6 +64,7 @@ #define sys_mlock sys_munmap #define sys_munlock sys_munmap #define sys_clock_getres sys_clock_gettime +#define sys_mq_unlink sys_unlink /* printargs does the right thing */ #define sys_setup printargs diff --git a/linux/syscall.h b/linux/syscall.h index c135f652..783d556c 100644 --- a/linux/syscall.h +++ b/linux/syscall.h @@ -94,6 +94,8 @@ int sys_timer_create(), sys_timer_delete(), sys_timer_getoverrun(); int sys_timer_gettime(), sys_timer_settime(), sys_clock_settime(); int sys_clock_gettime(), sys_clock_getres(), sys_clock_nanosleep(); int sys_semtimedop(), sys_statfs64(), sys_fstatfs64(), sys_tgkill(); +int sys_mq_open(), sys_mq_timedsend(), sys_mq_timedreceive(); +int sys_mq_notify(), sys_mq_getsetattr(); /* sys_socketcall subcalls */ diff --git a/linux/syscallent.h b/linux/syscallent.h index 9b2250e0..53b5dc8c 100644 --- a/linux/syscallent.h +++ b/linux/syscallent.h @@ -323,12 +323,12 @@ { 5, 0, printargs, "SYS_274" }, /* 274 */ { 5, 0, printargs, "SYS_275" }, /* 275 */ { 5, 0, printargs, "SYS_276" }, /* 276 */ - { 5, 0, printargs, "SYS_277" }, /* 277 */ - { 5, 0, printargs, "SYS_278" }, /* 278 */ - { 5, 0, printargs, "SYS_279" }, /* 279 */ - { 5, 0, printargs, "SYS_280" }, /* 280 */ - { 5, 0, printargs, "SYS_281" }, /* 281 */ - { 5, 0, printargs, "SYS_282" }, /* 282 */ + { 4, 0, sys_mq_open, "mq_open" }, /* 277 */ + { 1, 0, sys_mq_unlink, "mq_unlink" }, /* 278 */ + { 5, 0, sys_mq_timedsend, "mq_timedsend" }, /* 279 */ + { 5, 0, sys_mq_timedreceive, "mq_timedreceive" }, /* 280 */ + { 2, 0, sys_mq_notify, "mq_notify" }, /* 281 */ + { 3, 0, sys_mq_getsetattr, "mq_getsetattr" }, /* 282 */ { 5, 0, printargs, "SYS_283" }, /* 283 */ { 5, 0, printargs, "SYS_284" }, /* 284 */ { 5, 0, printargs, "SYS_285" }, /* 285 */ diff --git a/time.c b/time.c index 12d00f24..eb02f4c6 100644 --- a/time.c +++ b/time.c @@ -438,6 +438,9 @@ long arg; present in the userlevel definition of the struct. */ tprintf("{%d}", sev._sigev_un._pad[0]); + else if (sev.sigev_notify == SIGEV_THREAD) + tprintf("{%p, %p}", sev.sigev_notify_function, + sev.sigev_notify_attributes); else tprintf("{...}"); tprintf("}");