<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<br>
<div class="moz-cite-prefix">Am 24.04.14 20:28, schrieb Eliot
Miranda:<br>
</div>
<blockquote
cite="mid:CAC20JE0tUnZQEhv52tpqQxqhXM7kL=0w+sdLU_B88LGH33Rynw@mail.gmail.com"
type="cite">
<pre wrap=""> </pre>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<div dir="ltr">Hi Andreas,<br>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Thu, Apr 24, 2014 at 9:58 AM,
Andreas Wacknitz <span dir="ltr"><<a
moz-do-not-send="true" href="mailto:a.wacknitz@gmx.de"
target="_blank">a.wacknitz@gmx.de</a>></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"> <br>
<div style="word-wrap:break-word"><br>
<div>
<div>Am 24.04.2014 um 00:14 schrieb Eliot Miranda <<a
moz-do-not-send="true"
href="mailto:eliot.miranda@gmail.com"
target="_blank">eliot.miranda@gmail.com</a>>:</div>
<br>
<blockquote type="cite">
<div dir="ltr">Hi Andreas,
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Wed, Apr 23, 2014 at
9:35 AM, Andreas Wacknitz <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:a.wacknitz@gmx.de"
target="_blank">a.wacknitz@gmx.de</a>></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"> <br>
<div style="word-wrap:break-word">Thanks
again Eliot,
<div>
<br>
</div>
<div>First, I solved the pthreads problem
under OpenSolaris. While Solaris 10
doesn’t need special user privileges for
thread control (at least within the same
thread policy I guess),</div>
<div>users under Solaris 11 (and thus
OpenSolaris) need the privilege
„proc_priocntl“ to be given by an
administrator.</div>
<div>(For those who are interested:
usermod -K
defaultpriv=basic,proc_priocntl andreas)</div>
</div>
</blockquote>
<div><br>
</div>
<div>This is a pain :-). You could either
assume that people can always get the
necessary permission and go with the
threaded heartbeat (my preferred suggestion)
or provide two VMs (always tedious).</div>
</div>
</div>
</div>
</blockquote>
Yes, I consider going with the threaded heartbeat for
OpenSolaris (I will also try to compile everything
under Solaris 11.1 but that’s on lower priority for me
as I am not really using it.).</div>
<div>I am not yet decided whether the version without
increased priority would be enough. At the moment
everything seems to run fine with this version; I can
interrupt "[[true] whileTrue] forkAt: Processor
userInterruptPriority“</div>
<div>by ALT-.</div>
</div>
</blockquote>
<div><br>
</div>
<div>That implies it is working. But I would definitely
make sure the heartbeat runs at a higher priority than the
main thread.</div>
<div><br>
</div>
<div>One thing to check is that delays expire even when the
system is fully busy, e.g.</div>
<div><br>
</div>
<div>| run s |</div>
<div>run := true.</div>
<div>s := Semaphore new.</div>
<div>[| i | i := 0. s wait. [run] whileTrue: [i := i + 1]]
forkAt: Processor highestPriority - 1.</div>
<div>[(Delay forSeconds: 1) wait. run := false] forkAt:
Processor highestPriority.</div>
<div>s signal</div>
<div><br>
</div>
<div>should lock up the system for 1 second. If the
heartbeat is not advancing the clock used to check for
delays then the sytsem will remain locked.</div>
</div>
</div>
</div>
</blockquote>
It's working like you described it. Locked for a second and then
continues to work.<br>
<br>
<blockquote
cite="mid:CAC20JE0tUnZQEhv52tpqQxqhXM7kL=0w+sdLU_B88LGH33Rynw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<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">
<div style="word-wrap:break-word">
<div>But the whole thing isn’t finished yet as FFI
(NativeBoost doesn’t seem to work (e.g.
"UnixEnvironment environ“ fails. I don’t know when I
will find time to deal with that.</div>
</div>
</blockquote>
<div><br>
</div>
<div>Well, the code is still useful for the Squeak VM, so
please commit if and when you have the heartbeat working
to your satisfaction.</div>
</div>
</div>
</div>
</blockquote>
I will do that. Next step is to get your Cog branch compiled and run
:)<br>
This is mostly for my fun and experience. I am doing all in my spare
time and thus cannot predict when it will be finished.<br>
<br>
Best regards,<br>
Andreas<br>
<br>
</body>
</html>