[squeak-dev] Re: Unix OSProcess error
David T. Lewis
lewis at mail.msen.com
Thu Aug 6 20:40:46 UTC 2009
On Thu, Aug 06, 2009 at 01:08:35PM -0700, Andreas Raab wrote:
> David T. Lewis wrote:
> >If you can send me an example of something that you are doing, I'll try to
> >suggest something more specific to address the problem. I'm away from
> >Squeak
> >at the moment, so it may take me a while to respond.
>
> We're doing stuff along the lines of:
>
> "fire off the external command"
> cmd := PipeableOSProcess command: '/home/qwaq/server/script.sh'
> environment: nil
> workingDir: nil
> input: nil
> output: nil
> error: nil
> errorPipelineStream: nil.
>
> "wait for completion"
> start := Time millisecondClockValue.
> [cmd isComplete not and:[(Time millisecondsSince: start) < deadline]]
> whileTrue:[(Delay forMilliseconds: 100) wait].
> cmd isComplete ifFalse:[^self error: 'timeout'].
>
> descriptors := cmd outputAndError.
> "... processing of output and error omitted ..."
>
> And that's it. Is there anything that we need to clean up here?
Probably yes. From memory I think that 'cmd closePipes' will do what you
need. But I'm sure there are cleaner ways to do this, so I'll give you
a better answer later on when I get home a few hours from now. I guess
it's time I started carrying one of Bert's Squeak-on-a-stick solutions
on my keychain ;)
Dave
More information about the Squeak-dev
mailing list
|