Blocking a task indefinitely in the RTS
Phyx
lonetiger at gmail.com
Tue Jan 8 08:55:51 UTC 2019
> Oh, I see :( I guess it's not that easy of a fix then. Perhaps the RTS
could use a new intrinsic for blocking on foreign state
Yeah, that's what I was/am currently working on, "IOPort" has much of the
same property of MVar but doesn't have this deadlock guarantee and only
supports a single put/take at a time.
But debugging CMM is... not fun :( so I was wondering if I was just missing
something with the existing mechanisms.
On Tue, Jan 8, 2019 at 8:23 AM Phil Ruffwind <rf at rufflewind.com> wrote:
> > I did try removing this check to see, but it really didn't like that. It
> > caused GC to be triggered over and over again as the RTS tried
> desperately
> > to find something to do, doesn't seem to consider "do nothing" as a valid
> > state.
>
> Oh, I see :( I guess it's not that easy of a fix then. Perhaps the RTS
> could use a new intrinsic for blocking on foreign state.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20190108/7356669c/attachment.html>
More information about the ghc-devs
mailing list