diff --git a/ocaml/runtime/gc_ctrl.c b/ocaml/runtime/gc_ctrl.c index 746011eefc9..82ba6c93019 100644 --- a/ocaml/runtime/gc_ctrl.c +++ b/ocaml/runtime/gc_ctrl.c @@ -302,7 +302,7 @@ CAMLprim value caml_gc_compaction(value v) value exn = gc_major_exn(1); ++ Caml_state->stat_forced_major_collections; CAML_EV_END(EV_EXPLICIT_GC_COMPACT); - return caml_raise_if_exception(exn); + return caml_raise_async_if_exception(exn, ""); } CAMLprim value caml_gc_stat(value v) diff --git a/ocaml/runtime/sync_posix.h b/ocaml/runtime/sync_posix.h index 7b8475f6d4e..558f7a94e09 100644 --- a/ocaml/runtime/sync_posix.h +++ b/ocaml/runtime/sync_posix.h @@ -92,7 +92,7 @@ Caml_inline int sync_mutex_unlock(sync_mutex m) /* If we're using glibc, use a custom condition variable implementation to avoid this bug: https://sourceware.org/bugzilla/show_bug.cgi?id=25847 - + For now we only have this on linux because it directly uses the linux futex syscalls. */ #if defined(__linux__) && defined(__GNU_LIBRARY__) && defined(__GLIBC__) && defined(__GLIBC_MINOR__) @@ -206,7 +206,7 @@ Caml_inline int sync_condvar_wait(sync_condvar c, sync_mutex m) /* Reporting errors */ -static void sync_check_error(int retcode, char * msg) +Caml_inline void sync_check_error(int retcode, char * msg) { char * err; char buf[1024];