RTS dependency on POSIX signals

Jason Dagit dagitj at gmail.com
Thu Jul 2 03:38:30 UTC 2015

On Wed, Jul 1, 2015 at 3:14 PM, Jakub Zalewski <jakzale at gmail.com> wrote:

> Dear all,
> I am working on porting GHC to [native client](
> https://developer.chrome.com/native-client) and I am currently trying to
> figure out how to port the RTS.
> On POSIX systems RTS seems to depend on two POSIX signals: timer signal
> and interrupt signal; while native client has very limited POSIX signal
> support --- for instance it does not define *siginfo_t* (which is
> referenced in the base package).
> So far, I know how to deal with the dependency on the timer signal, as
> while browsing the source code in rts/posix/Itimer.c, I noticed that on iOS
> the timer is not using POSIX signals to implement the timer signal.
> I wanted to ask if there are any other POSIX signal dependencies in the
> RTS, and would it safe to disable any signal handling in the RTS if I know
> that there will be no interrupt signals sent to the RTS?

I don't know the answer to your question, but for an additional data point
 you might look at the HalVM: https://github.com/galoisinc/halvm

For the specific case of timers it may not be helpful (for all I know it
uses some xen magic to get a timer interrupt), but it should be similar to
native-client support in that the HalVM provides the RTS with a stripped
down libc.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20150701/dab77707/attachment.html>

More information about the ghc-devs mailing list