Commit 6b345422 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 6db11b65
...@@ -192,6 +192,8 @@ def test_wcfs_client_down_efault(): ...@@ -192,6 +192,8 @@ def test_wcfs_client_down_efault():
assert m1.mem[0*zf.blksize] == b'c' assert m1.mem[0*zf.blksize] == b'c'
assert m1.mem[1*zf.blksize] == b'd' assert m1.mem[1*zf.blksize] == b'd'
return
# close fileh -> m1 must turn into efaulting memory # close fileh -> m1 must turn into efaulting memory
fh.close() fh.close()
read_mustfault(m1.mem[0*zf.blksize:][:1]) read_mustfault(m1.mem[0*zf.blksize:][:1])
......
...@@ -121,7 +121,7 @@ cdef void _read_mustfault(const unsigned char *p) nogil except +topyexc: ...@@ -121,7 +121,7 @@ cdef void _read_mustfault(const unsigned char *p) nogil except +topyexc:
if sigsetjmp(mustfaultJmp, 1) == 0: if sigsetjmp(mustfaultJmp, 1) == 0:
mustfaultG = p[0] # should pagefault -> sighandler does longjmp mustfaultG = p[0] # should pagefault -> sighandler does longjmp
panic("not faulted") # XXX -> just error ? panic("not faulted")
else: else:
# faulted # faulted
if not faultedOk: if not faultedOk:
...@@ -139,7 +139,7 @@ def read_mustfault(const unsigned char[::1] mem not None): ...@@ -139,7 +139,7 @@ def read_mustfault(const unsigned char[::1] mem not None):
with nogil: with nogil:
mustfaultMu.lock() mustfaultMu.lock()
_read_mustfault(&mem[0]) _read_mustfault(&mem[0])
mustfaultMu.unlock() mustfaultMu.unlock() # XXX not released on panic
# -------- # --------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment