<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link rel="previous" href="Std.Socket.html"> <link rel="next" href="Std.Sys.html"> <link rel="Up" href="Std.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Async_print" rel="Chapter" href="Async_print.html"> <link title="Async_sys" rel="Chapter" href="Async_sys.html"> <link title="Epoll_file_descr_watcher" rel="Chapter" href="Epoll_file_descr_watcher.html"> <link title="Fd" rel="Chapter" href="Fd.html"> <link title="Fd_by_descr" rel="Chapter" href="Fd_by_descr.html"> <link title="File_descr_watcher_intf" rel="Chapter" href="File_descr_watcher_intf.html"> <link title="Import" rel="Chapter" href="Import.html"> <link title="Interruptor" rel="Chapter" href="Interruptor.html"> <link title="In_thread" rel="Chapter" href="In_thread.html"> <link title="Io_stats" rel="Chapter" href="Io_stats.html"> <link title="Process" rel="Chapter" href="Process.html"> <link title="Raw_fd" rel="Chapter" href="Raw_fd.html"> <link title="Raw_scheduler" rel="Chapter" href="Raw_scheduler.html"> <link title="Raw_signal_manager" rel="Chapter" href="Raw_signal_manager.html"> <link title="Reader" rel="Chapter" href="Reader.html"> <link title="Read_write" rel="Chapter" href="Read_write.html"> <link title="Scheduler" rel="Chapter" href="Scheduler.html"> <link title="Select_file_descr_watcher" rel="Chapter" href="Select_file_descr_watcher.html"> <link title="Shutdown" rel="Chapter" href="Shutdown.html"> <link title="Signal" rel="Chapter" href="Signal.html"> <link title="Signal_manager" rel="Chapter" href="Signal_manager.html"> <link title="Std" rel="Chapter" href="Std.html"> <link title="Syscall" rel="Chapter" href="Syscall.html"> <link title="Thread_pool" rel="Chapter" href="Thread_pool.html"> <link title="Thread_safe" rel="Chapter" href="Thread_safe.html"> <link title="Thread_safe_pipe" rel="Chapter" href="Thread_safe_pipe.html"> <link title="Unix_syscalls" rel="Chapter" href="Unix_syscalls.html"> <link title="Writer" rel="Chapter" href="Writer.html"><title>Std.Signal</title> </head> <body> <div class="navbar"><a class="pre" href="Std.Socket.html" title="Std.Socket">Previous</a> <a class="up" href="Std.html" title="Std">Up</a> <a class="post" href="Std.Sys.html" title="Std.Sys">Next</a> </div> <h1>Module <a href="type_Std.Signal.html">Std.Signal</a></h1> <pre><span class="keyword">module</span> Signal: <code class="type">Signal</code></pre><hr width="100%"> <pre><span class="keyword">include</span> Core.Std.Signal</pre> <pre><span id="VALhandle_default"><span class="keyword">val</span> handle_default</span> : <code class="type">[ `Do_not_use_with_async ] -> 'a</code></pre><div class="info "> We override values from <code class="code">Core.Std.Signal</code> that we don't want people to use with Async.<br> </div> <pre><span id="VALignore"><span class="keyword">val</span> ignore</span> : <code class="type">[ `Do_not_use_with_async ] -> 'a</code></pre> <pre><span id="VALset"><span class="keyword">val</span> set</span> : <code class="type">[ `Do_not_use_with_async ] -> 'a -> 'b</code></pre> <pre><span id="VALsignal"><span class="keyword">val</span> signal</span> : <code class="type">[ `Do_not_use_with_async ] -> 'a -> 'b</code></pre> <pre><span id="VALhandle"><span class="keyword">val</span> handle</span> : <code class="type">?stop:unit Import.Deferred.t -> t list -> f:(t -> unit) -> unit</code></pre><div class="info "> <code class="code">handle ?stop signals ~f</code> arranges so that whenever a signal in <code class="code">signals</code> is delivered, <code class="code">f</code> is called on that signal. If <code class="code">f</code> raises, then an exception will be raised to the monitor in effect when <code class="code">handle</code> was called. <p> Multiple calls to <code class="code">handle</code> with the same signal will cause all the handlers to run when that signal is delivered, not just the last handler from the last call to <code class="code">handle</code>. <p> The first time <code class="code">handle</code> is called for a signal, it will install a C signal handler for that signal, which will replace the existing C signal handler for that signal.<br> </div> <pre><span id="VALterminating"><span class="keyword">val</span> terminating</span> : <code class="type">t list</code></pre><div class="info "> <code class="code">terminating</code> is a list of signals that can be supplied to <code class="code">handle</code> and whose default behavior is to terminate the program: alrm hup int term usr1 usr2. <p> Various signals whose <code class="code">default_sys_behavior</code> is <code class="code">`Terminate</code> are not included: <p> | kill | it's not allowed to be handled | | pipe | async already ignores this signal, since it handles EPIPE | | prof | so that we can profile things with -p | | vtalrm | it already has a handler |<br> </div> <pre><span id="VALis_managed_by_async"><span class="keyword">val</span> is_managed_by_async</span> : <code class="type">t -> bool</code></pre><div class="info "> <code class="code">is_managed_by_async signal</code> returns true iff <code class="code">signal</code> is being managed by async, and hence its default behavior is no longer in effect.<br> </div> </body></html>