<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;">Hi Eliot,<div><br></div><div>Today I was able to work on this problem again. Alas heartbeat_handler() in sqUnixTimerHeartbeat.c is not called automatically as it should be.</div><div>Only if I trigger an external ALRM signal (by means of signal -ALRM &lt;pid&gt;) it’s being called. I wasn’t able to find out how the trigger for it is being</div><div>set. The only place I found a nanosleep() call was in block() in sqUnixMain.c.</div><div>BTW what does with ticker and without ticker mean in respect to the heartbeat?</div><div><br></div><div>Best regards,</div><div>Andreas</div><div><br></div><div><div><div>Am 11.04.2014 um 18:02 schrieb Eliot Miranda &lt;<a href="mailto:eliot.miranda@gmail.com">eliot.miranda@gmail.com</a>&gt;:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">Hi Andreas, Hi Tty,<div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Apr 11, 2014 at 7:54 AM, Andreas Wacknitz <span dir="ltr">&lt;<a href="mailto:a.wacknitz@gmx.de" target="_blank">a.wacknitz@gmx.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0px 0px 0px 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto;">&nbsp;<br><div style="word-wrap:break-word"><br><div><div>Am 10.04.2014 um 22:49 schrieb Colin Putney &lt;<a href="mailto:colin@wiresong.com" target="_blank">colin@wiresong.com</a>&gt;:</div>
<br><blockquote type="cite"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Apr 10, 2014 at 3:35 PM, gettimothy <span dir="ltr">&lt;<a href="mailto:gettimothy@zoho.com" target="_blank">gettimothy@zoho.com</a>&gt;</span> wrote:<br>

<div>&nbsp;</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="font-size:10pt;font-family:Verdana,Arial,Helvetica,sans-serif"><div>I have considered Open Solaris and FreeBSD for my former dos partition--I don't know if CMake will work on them, but I will investigate. Do you have a link for open solaris? When I checked a few days ago Oracle had branded everything and I prefer to not deal with Ellison if I can.</div>

<div></div></div></blockquote></div><br></div><div class="gmail_extra">I did some work a while back to build Cog on SmartOS and OpenIndiana. I got it to compile and run, but the image couldn't do IO or respond to UI events. I've found VirtualBox handy for this sort of thing—you can get ready-made images for many operating systems, which saves installing and configuring a bare-metal installation.&nbsp;</div>

</div>
</blockquote></div>So you got as far as I did. After some thoughts I guess the heart beat Eliot introduced for Cog might be a possible cause of the problem.<div>When I did my first Solaris compilations of the Squeak VM a couple of years ago I had to adjust the signal handler installation. Solaris needs re-registration after a signal has been caught. I will take a look asap.</div>
</div></blockquote><div><br></div><div>Noe that the itemer/signal based heartbeat should be viewed as the heartbeat of last resort :-). &nbsp;It has bad effects when integrating with external code, interrupting system calls etc. &nbsp;Unless this external code is written to cope with interrupted calls that can't be restarted such as poll or select, the heartbeat needs to be disabled around calls to the external code.</div>
<div><br></div><div>Instead, the pthread/nanosleep based heartbeat (in platforms/unix/vm/sqUnixHeartbeat.c) is benign but does require multiple thread priorities in pthreads so that the heartbeat thread can run at a higher priority than the VM thread and hence reliably interrupt it.</div>
<div><br></div></div>-- <br>best,<div>Eliot</div>
</div></div>
</blockquote></div><br></div></body></html>