Hi Mariano,

2016-06-07 16:04 GMT+02:00 Mariano Martinez Peck <marianop...@gmail.com>:

> Hi guys,
>
> I will try to answer many things at once:
>
> 1) Sabine, OSSubprocess works for Unix derived, not only Linux, that
> includes OSX as well.
>
> 2) Tierry,Sabine for the case of loosing signals, the most trustful
> solution (in OSSubprocess) is to rely on a delay pooling instead of on the
> child reaper (based on signals). I am talking exactly about this API:
> https://github.com/marianopeck/OSSubprocess#delay-based-polling-waiting
>

Which is what GitFileTree uses. I remember asking you for a similar API :)
Polling to avoid the child reaper is also what GitFileTree does on the
OSProcess side.


>
> 3) I found a problem/bug with waits and signals in Pharo 5.0 as reported
> here:
> https://pharo.fogbugz.com/f/cases/18359/Problem-with-DelayExperimentalSpinScheduler-and-delay.
> That should also affect OSProcess. What I did in OSSubprocess v0.2.4 (
> https://github.com/marianopeck/OSSubprocess/tree/v0.2.4) is automatically
> set the mentioned workaround in the issue tracker. This may fix your issue.
>

I understand that. I had a few lock-ups prior to that with GitFileTree and
OSSubprocess, even with the polling interface, and I noticed that
discussion (and the fact someone else complained of lost signals when
connected to a database as well). But I don't know what the status is
exactly for each version of the Pharo VM.

Thanks,

Thierry


>
>
> Hope any of this helps. Let us know.
>
> Cheers,
>
>
>
>
> On Tue, Jun 7, 2016 at 10:21 AM, Peter Uhnak <i.uh...@gmail.com> wrote:
>
>> On Tue, Jun 07, 2016 at 01:22:04PM +0200, Thierry Goubier wrote:
>> > 2016-06-07 11:47 GMT+02:00 Peter Uhnak <i.uh...@gmail.com>:
>> >
>> > > It's strange that I was using GitFileTree over OSProcess for a long
>> time
>> > > without issue and yet every time I tried to use OSProcess directly I
>> had
>> > > this locking up.
>> > >
>> > >
>> > Yes. This is a bit worrying; the low-level OSProcess call was a bit of a
>> > stopgap while waiting for either OSProcess or the vm to sort the
>> underlying
>> > issue (which is more significant than just my use); that it locks up
>> under
>> > normal use is not good and should be reported.
>> >
>> > I allways considered GitFileTree to be a heavy hitter on OSProcess,
>> running
>> > hundreds of external commands to load a complex project, so that if I
>> would
>> > lock up, it wouldn't be a normal pattern of use.
>> >
>> >
>> > >
>> > > > So I am asking polite to the pharo developers team if there are
>> plans to
>> > > > provide a stable solution for calling external programs as
>> described.
>> > > >
>> > > > My production system will be a windows system, so I need this for
>> > > windows,
>> > > > too.
>> > > > As far as I understand, the new OSSubprocess is (currently) only for
>> > > unix.
>> > >
>> > > Yes, there's ProcessWrapper for Windows.
>> > >
>> > > An alternative approach might be to use direct FFI calls, e.g.
>> > >
>> > > MyClass class>>system:
>> > >         system: command
>> > >         "Perform OS system() call."
>> > >
>> > >         ^ self ffiCall: #(int system #(char * command)) module: LibC
>> > >
>> > > And then you can do MyClass system: 'cp a.pdf b.pdf'.
>> > >
>> > > Although it still locks up my image from time to time… but at least
>> order
>> > > of magnite less.
>> > >
>> >
>> > Than GitFileTree or OSProcess? Still, you get lockups... which isn't
>> good.
>>
>> No, GitFileTree never locked up my image. This was always my use.
>>
>> Peter
>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>

Reply via email to