Skip to content
Success

Changes

Summary

  1. Lock channels before doing I/O (commit: e678885) (details)
  2. Do not run OCaml code inside signal handlers (commit: 32feddc) (details)
  3. Avoid running signal handlers while holding locks in io.c (commit: 63d516b) (details)
  4. Avoid polling in caml_leave_blocking_section (commit: 15b9d00) (details)
  5. Tests for EINTR-based signal handling (commit: c2b2da2) (details)
  6. Changes (commit: e0b5f5e) (details)
Commit e6788850078974de6fc5eaee70fe463d24d953db by sdolan
Lock channels before doing I/O

The debugger's use of channels doesn't support locking, but it
doesn't work on threaded programs anyway.
(commit: e678885)
The file was modifiedruntime/backtrace_byt.c (diff)
The file was modifiedruntime/startup_byt.c (diff)
The file was modifiedruntime/caml/io.h (diff)
The file was modifiedocamltest/run_stubs.c (diff)
The file was modifiedruntime/debugger.c (diff)
Commit 32feddc1fc0a1bd03c44bb4d74d02f53ce39840e by sdolan
Do not run OCaml code inside signal handlers
(commit: 32feddc)
The file was modifiedruntime/signals_byt.c (diff)
The file was modifiedruntime/signals.c (diff)
The file was modifiedruntime/caml/signals.h (diff)
The file was modifiedruntime/caml/compatibility.h (diff)
The file was modifiedruntime/signals_nat.c (diff)
The file was modifiedotherlibs/systhreads/st_stubs.c (diff)
Commit 63d516bda140ea7524523c62038e1f6d4ca004aa by sdolan
Avoid running signal handlers while holding locks in io.c
(commit: 63d516b)
The file was modifiedruntime/caml/osdeps.h (diff)
The file was modifiedruntime/signals.c (diff)
The file was modifiedruntime/unix.c (diff)
The file was modifiedruntime/io.c (diff)
The file was modifiedruntime/caml/io.h (diff)
The file was modifiedruntime/caml/signals.h (diff)
The file was modifiedruntime/win32.c (diff)
Commit 15b9d006a4792c88d0c461e8280d932364cb1404 by sdolan
Avoid polling in caml_leave_blocking_section

To preserve behaviour, explicit polls are added:

   - in caml_raise, to raise the right exception when as system
     call is interrupted by a signal.

   - in sigprocmask, to ensure that signals are handled as soon
     as they are unmasked.
(commit: 15b9d00)
The file was modifiedruntime/fail_nat.c (diff)
The file was modifiedruntime/fail_byt.c (diff)
The file was modifiedotherlibs/systhreads/st_posix.h (diff)
The file was modifiedotherlibs/unix/signals.c (diff)
The file was modifiedruntime/signals.c (diff)
Commit c2b2da223472aedb2a4f21efe0c3a8ea1d542719 by sdolan
Tests for EINTR-based signal handling
(commit: c2b2da2)
The file was addedtestsuite/tests/lib-systhreads/eintr.ml
The file was addedtestsuite/tests/lib-systhreads/eintr.reference
The file was modifiedChanges (diff)