<div class="gmail_quote">On Fri, Aug 5, 2011 at 1:38 AM, Matthew Mondor <span dir="ltr"><<a href="mailto:mm_lists@pulsar-zone.net">mm_lists@pulsar-zone.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Is CATCH-SIGNAL in any way currently already relied-upon by some<br>
software?  Also, does it try to be compatible in any way with an<br>
existing interface?  Is it expected to eventually do anything on<br>
non-POSIX systems?<br>
</blockquote></div><br>CATCH-SIGNAL is expected to rule what ECL does with external interrupts and it should work in systems that do not implement full POSIX, such as Windows -- where we rely only on signal() at the moment but might be extended to the exception handler.<div>

<br></div><div>I have uploaded some updates to ECL, described in this excerpt from CHANGELOG.</div><div><br></div><div><div> - Each thread keeps a copy of the process sigmask (POSIX) and it is inherited</div><div>   by children thread. The sigmask can be manipulated by the function</div>

<div>   EXT:CATCH-SIGNAL which has the signature</div><div><span class="Apple-tab-span" style="white-space:pre">    </span>(ext:catch-signal signal-code action &key process)</div><div>   The ACTION is one of :IGNORE, :DEFAULT, :CATCH, determining what ECL does</div>

<div>   when it receives the signal, or it can be :MASK/:UNMASK to determine whether</div><div>   the process is blocking the signal or not. The optional argument :PROCESS</div><div>   only applies to :MASK/:UNMASK and it can be the current process, some</div>

<div>   process that has not been activated or any other value (indicating that</div><div>   the function has a global effect, as sigprocmask).</div><div><br></div><div>As I said, it goes a bit beyond what you submitted, maintaining an interface that dates back to KCL and still working with multithreaded environments. Limited testing suggests that it works.</div>

<div><br></div><div>Juanjo</div><br>-- <br>Instituto de Física Fundamental, CSIC<br>c/ Serrano, 113b, Madrid 28006 (Spain) <br><a href="http://juanjose.garciaripoll.googlepages.com" target="_blank">http://juanjose.garciaripoll.googlepages.com</a><br>


</div>