[GHC] #7229: Detecting if a process was killed by a signal is impossible
GHC
ghc-devs at haskell.org
Sat Nov 9 11:00:00 UTC 2013
#7229: Detecting if a process was killed by a signal is impossible
--------------------------------------+------------------------------------
Reporter: benmachine | Owner:
Type: bug | Status: new
Priority: high | Milestone: 7.8.1
Component: libraries/process | Version:
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
--------------------------------------+------------------------------------
Comment (by hvr):
Replying to [comment:7 andersk]:
> that’s going to confuse anyone who knows that the real encoding is
`(exit code << 8) + signal` (which, say, Perl forces you to learn).
btw, what do you mean by //real// encoding?
I've looked a bit around and here's what I've found so far:
Python's [http://docs.python.org/3/library/os#os.wait os.wait()] operation
which seem to match Perl's encoding:
//... exit status indication: a 16-bit number, whose low byte is the
signal number that killed the process, and whose high byte is the exit
status (if the signal number is zero); the high bit of the low byte is set
if a core file was produced.//
...otoh, Wikipedia says regarding
[http://en.wikipedia.org/wiki/Exit_status#POSIX POSIX Exit status]:
//... SUS specifies that the low-order 8 bits of the status value
contain the exit status ...//
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/7229#comment:16>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list