On 25/04/2016 18:51, David Matthews wrote:
I think it might be worth
tightening up the code a little; currently "status" is not initialised
but it ought to be valid if "wait" returns a non-zero value. Otherwise
I can't really see what to do about this.
Yes, it seems that the "status" value is
It's possible but according to the documentation "wait" is only supposed
to return a WIFCONTINUED status if the WCONTINUED flag is included.
I've run some checks and "wait" sees the stopped process but doesn't
return a result when the process is continued. I think it might be
worth tightening
Linux (since 2.6.10) does have a WIFCONTINUED(status), which checks if status
== 0x; could this be the source of it?
James
> On 25 Apr 2016, at 14:07, David Matthews
> wrote:
>
> I've found something to suggest that the 255 value can come from an invalid
> value being passed to "exit".
I've found something to suggest that the 255 value can come from an
invalid value being passed to "exit". I don't understand, though, what
this value says about the status of the process. Has it exited or not?
It really seems to be an incompatibility between the design of the ML
basis librar
I agree that it does seem to only happen on Linux.
There's code doing waiting at line 303 of
https://github.com/HOL-Theorem-Prover/HOL/blob/master/tools/Holmake/poly/ProcessMultiplexor.sml
In the Poly sources, the fromStatus function is also called in doWait (a few
lines further down in basi
Searching for Fail in the Posix code shows one situation where it could
be raised. Posix.Process.fromStatus converts a value of type
OS.Process.status into a value of type exit_status. exit_status is
defined as
datatype exit_status =
W_EXITED
| W_EXITSTATUS of Word8.word
| W_SIGNALED of
As can be seen in
https://travis-ci.org/HOL-Theorem-Prover/HOL/jobs/124717527
our use of Posix waiting is occasionally causing a Fail exception to be raised
from inside the Posix implementation (there's no Fail exception with that
message in our source code, and our code *is* doing a wait at