[squeak-dev] How to get rid of instances of ExternalUnixOSProcess
Herbert König
herbertkoenig at gmx.net
Tue Feb 3 16:35:45 UTC 2015
Hi JohnReed,
thanks for your hint but PipeableOSProcess is in a different class
hierarchy than ExternalUnixOSProcess.
I updated to the latest versions of OSProcess and CommandShell and it
doesn't help.
I think I use it the wrong way. Do you know of documentation other
than the examples in the code?
Cheers,
Herbert
Am 03.02.2015 um 16:20 schrieb JohnReed Maffeo:
>> Sent: Tuesday, February 03, 2015 at 6:49 AM
>> From: "Herbert König" <herbertkoenig at gmx.net>
>> To: "The general-purpose Squeak developers list" <squeak-dev at lists.squeakfoundation.org>
>> Subject: [squeak-dev] How to get rid of instances of ExternalUnixOSProcess
>>
>> Hi,
>>
>> I start external OS processes via the class side method command:
>> The returned instances correctly show runState #complete but the
>> instances won't get garbage collected.
>> Pointer Finder gets me ThisOSProvess allMyChildren.
>>
>> I start the external program every few seconds so the instances accumulate.
>>
>> So should I manually send unregisterChildProcess: or should I reuse one
>> instance of ExternalUnixOSProcess via repeated forkChild to restart the
>> program? Or something completely different?
>>
>> Thanks,
>>
>> Herbert
> David T. Lewis wrote to the beginners list,
> "Just an FYI - I just made some updates to PipeableOSProcess class>>command:
> so that it will do a better job of cleaning up pipe handles. You'll still need
> to keep an eye out for pipe handle leaks, but expressions like this should now
> close all pipes after processing is completed:
>
> (PipeableOSProcess command: '/bin/echo this is a test') output
>
> The updates are in the latest version of CommandShell on SqueakSource."
>
>
> jrm
>
More information about the Squeak-dev
mailing list
|