<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Dear Hans-Martin,<br>
I was very happy to see your advice. My process is hanging in <i><(Delay
forMilliseconds: 1200) wait</i>>, perhaps this could help..<br>
<br>
I do not understand the meaning of <<i>OSProcess waitForCommand:</i>><br>
I have looked in Squeak 3.8 and 3.10. <br>
Neither image has the global constant <<i>OSProcess</i>>. <br>
Neither image has implemented the method <<i>waitForCommand:</i>>.<br>
<br>
Does this only apply to a particular platform? (I run WinXP)<br>
Could you please enlighten me?<br>
<br>
Cheers<br>
--Trygve<br>
<br>
<br>
On 11.03.2008 08:24, Hans-Martin Mosner wrote:
<blockquote cite="mid:47D633AD.1010204@heeg.de" type="cite">
<pre wrap="">David T. Lewis schrieb:
</pre>
<blockquote type="cite">
<pre wrap="">On Mon, Mar 10, 2008 at 11:13:42AM -0700, Andreas Raab wrote:
</pre>
<blockquote type="cite">
<pre wrap="">We have a situation where some code reliably locks up when used like here:
p := OSProcess command: 'chmod +x ', path.
[p isComplete] whileFalse.
This hangs quite reliably in the second line and I'm *assuming* that we
need to yield/delay execution while waiting. Is this correct? I was
trying to trace through the code paths which update the runState but it
wasn't immediately clear where this comes from.
</pre>
</blockquote>
<pre wrap="">Hi Andreas,
Yes, you should add a delay in the loop, or use this (which adds the
delay for you):
p := OSProcess waitForCommand: 'chmod +x ', path
The run state of an external OS process is updated by a separate Squeak
process (evaluate "OSProcess accessor grimReaperProcess"), so you need
to wait for the grimReaperProcess to react to the external process
exit notification.
</pre>
</blockquote>
<pre wrap=""><!---->This sounds like the grimReaperProcess should be given higher priority
so it would not be starved by a busy-waiting foreground process.
I'd suggest at least Processor lowIPPriority.
Cheers,
Hans-Martin
</pre>
</blockquote>
<br>
<div class="moz-signature">-- <br>
<meta http-equiv="Content-Type" content="text/html; ">
<meta name="ProgId" content="Word.Document">
<meta name="Generator" content="Microsoft Word 10">
<meta name="Originator" content="Microsoft Word 10">
<link rel="File-List" href="TrygveSignature-filer/filelist.xml">
<title>-- </title>
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:SpellingState>Clean</w:SpellingState>
<w:GrammarState>Clean</w:GrammarState>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:DrawingGridHorizontalSpacing>6 pt</w:DrawingGridHorizontalSpacing>
<w:DrawingGridVerticalSpacing>6 pt</w:DrawingGridVerticalSpacing>
<w:DisplayHorizontalDrawingGridEvery>0</w:DisplayHorizontalDrawingGridEvery>
<w:DisplayVerticalDrawingGridEvery>3</w:DisplayVerticalDrawingGridEvery>
<w:UseMarginsForDrawingGridOrigin/>
<w:DoNotShadeFormData/>
<w:Compatibility>
<w:FootnoteLayoutLikeWW8/>
<w:ShapeLayoutLikeWW8/>
<w:AlignTablesRowByRow/>
<w:ForgetLastTabAlignment/>
<w:LayoutRawTableWidth/>
<w:LayoutTableRowsApart/>
<w:UseWord97LineBreakingRules/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]-->
<style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0cm;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
span.SpellE
        {mso-style-name:"";
        mso-spl-e:yes;}
span.GramE
        {mso-style-name:"";
        mso-gram-e:yes;}
/* Page Definitions */
@page
        {mso-page-border-surround-header:no;
        mso-page-border-surround-footer:no;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;
        mso-header-margin:35.4pt;
        mso-footer-margin:35.4pt;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
        {mso-style-name:"Vanlig tabell";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman";}
</style>
<![endif]--><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="2050"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1"/>
</o:shapelayout></xml><![endif]-->
<div class="Section1">
<p class="MsoNormal" style=""><span class="SpellE"><span
style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Trygve</span></span><span
style="font-size: 10pt; font-family: Arial;" lang="EN-GB">
Reenskaug<span style=""> </span>mailto: <span class="SpellE"><a class="moz-txt-link-abbreviated" href="mailto:trygver@ifi.uio.no">trygver@ifi.uio.no</a></span></span><span
style="font-size: 10pt; font-family: Arial;"><o:p></o:p></span></p>
<p class="MsoNormal" style=""><span class="SpellE"><span class="GramE"><span
style="font-size: 10pt; font-family: Arial;" lang="EN-GB">Morgedalsvn</span></span></span><span
class="GramE"><span style="font-size: 10pt; font-family: Arial;"
lang="EN-GB">.</span></span><span
style="font-size: 10pt; font-family: Arial;" lang="EN-GB"> 5A <span
style=""> </span><a class="moz-txt-link-freetext" href="http://heim.ifi.uio.no/~trygver">http://heim.ifi.uio.no/~trygver</a><o:p></o:p></span></p>
<p class="MsoNormal" style=""><span
style="font-size: 10pt; font-family: Arial;">N-0378
Oslo<span style=""> </span>Tel: (+47) 22 49 57 27<o:p></o:p></span></p>
<p class="MsoNormal" style=""><span class="SpellE"><span
style="font-size: 10pt; font-family: Arial;">Norway</span></span><span
style="font-size: 10pt; font-family: Arial;"><o:p></o:p></span></p>
</div>
</div>
</body>
</html>