[Pharo-users] [ANN] OSSubprocess first milestone

Damien Cassou damien.cassou at inria.fr
Fri Jan 15 06:14:48 EST 2016

On January 14, 2016 7:33:56 PM GMT+01:00, Mariano Martinez Peck <marianopeck at gmail.com> wrote:
>Dear all,
>I am happy to tell you I have a first prototype of the tool for
>OS processes:
> As I said many times, the main idea was to be as much as possible
>FFI-based, only for executing OS commands and, from my point of view, a
>better end-user API. Also, as for the first step, I had to focus on
>I would like to thank Pharo Consortium for the sponsor of this
>effort. Here is the first milestone!
>There are many things on my to-do but I think the code is ready for
>usage, testing, code review and feedback!
>All classes and all methods have comments and I have quite some unit
>All tests are green in my OSX and a CentOS box.
>*Important: you CANNOT have OSProcess installed in the same image as
>OSSubprocess. This is because I am reusing his SIGCHLD handler and for
>time being both cannot coexist.  *
>Keep in mind that the tool may be unstable and that MAY mean a VM
>crash. So
>use with care, mostly the first time. If all tests passes, then there
>much less chances of something going bad.
>Important disclaimer: my tool (OSSubproccess from now onward) is HIGHLY
>influenced by a subset of the OSProcess project. There are parts which
>even simply copied and adapted them (OSSPipe, OSSAttachableStream,
>OSSUnixProcessExitStatus). Other parts, I took them as inspiration (the
>idea of ThisOSProcess representing the VM process, the child watcher,
>many others). In addition, I AM STILL USING (maybe as a first step?)
>of the OSProcess PLUGIN (not OSProcess image side), such as the SIGCHLD
>handler or the creation of pipes.
>In github url you have all the documentation of the project, included
>to install it and use it.
>*Finally, if you test it in a OS different than OSX and CentOS please
>with me the results (about the tests).* Tomorrow the ConfigurationOf
>also appear in the Catalog of Pharo 5.0.
>Any feedback is appreciated.

defaultReadStreamCreationBlock: [ process createTempFileToBeUsedAsReadStreamOn: '/tmp' ];

In the readme, the piece of code containing that is a bit suspicious because it depends on the fact that the block is evaluated after the variable 'process' is assigned.
Damien Cassou

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill

More information about the Pharo-users mailing list