<br><br><div class="gmail_quote">On Sat, May 5, 2012 at 8:28 AM, Colin Putney <span dir="ltr">&lt;<a href="mailto:colin@wiresong.com" target="_blank">colin@wiresong.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
&gt; Maybe this has something to do with what I found out a few years ago:<br>
&gt; <a href="http://forum.world.st/Squeak-3-9-8-VM-problem-td105550.html" target="_blank">http://forum.world.st/Squeak-3-9-8-VM-problem-td105550.html</a><br>
<br>
Hi Andeas, that&#39;s exactly the issue I ran into; I&#39;ll try your fix. Thanks!<br>
<span class="HOEnZb"><font color="#888888"><br>
Colin<br></font></span></blockquote><div><br></div><div>and Colin, the solution is #define signal(a, b) sigset(a, b).  From  <a href="http://www.linuxmisc.com/3-linux/56c371addec84c45.htm">http://www.linuxmisc.com/3-linux/56c371addec84c45.htm</a> </div>
<div><br></div><div>&quot;It&#39;s amazing that there is so much misunderstanding about this. </div><div>If you want the old SunOS4.1 semantics of &quot;signal&quot;, use &quot;sigset&quot; in </div><div>your Solaris 2.x programs. </div>
<div>i.e. sigset(SIGTERM, my_catch_it_fn); </div><div>This works just as &quot;signal&quot; used to in SunOX4.1.  Signal will be caught </div><div>&quot;reliably&quot;, i.e. new instances will be held until the current when is </div>
<div>completely handled, i.e. until the handler function finishes.  At that </div><div>point, the hadnler will be automatically reinstalled. </div><div>If you are porting a SunOS4.1 program with 80,000 &quot;signal&quot; calls, just </div>
<div>#define signal(a, b) sigset(a, b) </div><div>Do NOT use &quot;signal&quot; in Solaris 2.x.  Even if you reinstall the handler within </div><div>the hadnler itself, it is possible to receive two signals in such quick </div>
<div>succession that you&#39;re program gets blown away before your handler is </div><div>reinstalled. </div><div>Phew!  By the way, this has been in SysV since 1987-ish.  Solaris 2.x is SysV. </div><div>NOW, if you want &quot;fancier&quot;, signal handling, you can use the sigaction / </div>
<div>sigsetmask stuff instead.  Here you can automatically hold a whole set </div><div>of signals immediately upon receiving a single one. </div><div>Marc Rossner </div><div>Taos Mountain Software&quot;</div></div><br><br clear="all">
<div><br></div>-- <br>best,<div>Eliot</div><br>