summaryrefslogtreecommitdiff
path: root/libftpconn
diff options
context:
space:
mode:
authorSamuel Thibault <samuel.thibault@ens-lyon.org>2016-11-20 16:22:29 +0100
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-11-20 16:22:29 +0100
commit62953f120bcdc976a3dfb96505066228464a78dd (patch)
treee7fa77309a920e7b87befcfd208d05254218a059 /libftpconn
parent484a67719146e819ddad64fbda23b4b23afa3095 (diff)
libpager, libstore: Fix crash on ENOSPC while writing data
We need to save blocked signals, otherwise longjmp will not unblock SIGSEGV/SIGBUS, and thus next exception will kill us. Also, we need to make sure that the preemptor is set at the right window in main memory before letting a handler see it. * libpager/pager-memcpy.c (do_memcpy): Call __sync_synchronize() between aligning the fault preemptor and actually accessing data. (fault): Use siglongjmp instead of longjmp. (pager_memcpy): Use sigsetjmp instead of setjmp. * libstore/memobj.c (copy, fault, memobj_memcpy): Likewise.
Diffstat (limited to 'libftpconn')
0 files changed, 0 insertions, 0 deletions