Hi - This patchset fixes some issues with our signal handlers and changes glibc to use PDR locks for its low-level locks, which was a potential source of deadlock in vcore context (e.g. some signal handlers).
Barret The following changes since commit 29d6d3978d877889692d68e5046106ffb206779f: Set a default sysname in #cons (2016-09-07 12:38:17 -0400) are available in the git repository at: g...@github.com:brho/akaros.git sigs for you to fetch changes up to 72711c07e336c244663f945930bb0e9e578c143c: Clean up x86_64 sysdeps (XCC) (2016-09-12 16:38:25 -0400) ---------------------------------------------------------------- View this online at: https://github.com/brho/akaros/compare/29d6d3978d87...72711c07e336 ---------------------------------------------------------------- Barret Rhoden (14): Use a helper for determining if a uth handles sigs Make signal handler functions vcore-ctx-safe Move the get_user_ctx_* helpers to ros/ (XCC) Add a helper for finding current_uthread's context Always provide a user context to signal handlers Fix include paths in lock_test Fix sbrk's lock initialization (XCC) Allow uth_disable_notifs without current_uthread Remove the NO_CAS version of spin_pdr locks Fix spinlock_trylock's return value Add spin_pdr_trylock Use PDR locks for glibc's internal locks (XCC) Set the glibc thread's pointer_guard (XCC) Clean up x86_64 sysdeps (XCC) kern/arch/riscv/ros/trapframe.h | 64 +++++++++++++++++ kern/arch/riscv/trap.h | 64 ----------------- kern/arch/x86/ros/trapframe.h | 45 ++++++++++++ kern/arch/x86/trap64.h | 45 ------------ kern/include/ros/trapframe.h | 39 +++++++++++ kern/src/trap.c | 42 ------------ tests/linux-lock-hacks.h | 19 ++--- tests/lock_test.c | 4 +- .../glibc-2.19-akaros/sysdeps/akaros/Versions | 3 + .../sysdeps/akaros/lowlevellock.h | 17 +++-- .../sysdeps/akaros/parlib-compat.c | 46 ++++++++++++- .../glibc-2.19-akaros/sysdeps/akaros/sbrk.c | 2 +- .../glibc-2.19-akaros/sysdeps/akaros/tls.c | 2 + .../sysdeps/akaros/x86_64/sysdep.h | 49 ++++++++++++- user/parlib/include/parlib/spinlock.h | 31 ++------- user/parlib/include/parlib/uthread.h | 10 +++ user/parlib/include/parlib/x86/atomic.h | 1 - user/parlib/signal.c | 45 ++++++++++-- user/parlib/spinlock.c | 80 ++++++++-------------- user/parlib/uthread.c | 22 +++--- user/utest/atexit.c | 65 ++++++++++++++++++ 21 files changed, 432 insertions(+), 263 deletions(-) create mode 100644 user/utest/atexit.c -- You received this message because you are subscribed to the Google Groups "Akaros" group. To unsubscribe from this group and stop receiving emails from it, send an email to akaros+unsubscr...@googlegroups.com. To post to this group, send email to akaros@googlegroups.com. For more options, visit https://groups.google.com/d/optout.