Up
Module
Raw_signal_manager
Signature
module
Signal
=
Core.Std.Signal
module
Handlers
: sig .. end
type
delivered = (
Signal.t
*
Handlers.t
)
Core.Std.Thread_safe_queue.t
type
t = {
handlers_by_signal
:
Handlers.t
Signal.Table.t
;
delivered
:
delivered
Core.Std.sexp_opaque
;
thread_safe_notify_signal_delivered
: unit -> unit
;
}
val
sexp_of_t :
t
->
Sexplib.Sexp.t
val
invariant : 'a -> unit
val
create : thread_safe_notify_signal_delivered:(unit -> unit) ->
t
val
is_managing :
t
->
Signal.Table.key
Core.Std.Hashtbl.key
-> bool
module
Handler
: sig .. end
type
handler =
Handler.t
val
get_handlers :
t
->
Signal.Table.key
Core.Std.Hashtbl.key
->
Handlers.t
val
manage :
t
->
Signal.Table.key
Core.Std.Hashtbl.key
-> unit
val
install_handler :
t
->
Signal.Table.key
Core.Std.Hashtbl.key
Core.Std.List.t
-> (
Signal.t
-> unit)
Core.Std.sexp_opaque
->
Handler.t
val
remove_handler : 'a ->
Handler.t
-> unit
val
handle_delivered :
t
-> unit