<div dir="ltr"><div><br></div>I was looking at the eventlog code, and I wanted to move processing of a full eventlog buffer into Haskell, instead of the now fixed behavior of writing the data to a file.<div><br></div><div>

To do this, I though that having a haskell process blocked on an MVar, or Chan would be nice, and then some way to signal the process.</div><div><br></div><div>But the low-level PrimOps for MVars, takeMVar, tryTakeMVar etc are in PrimOps.cmm and I don&#39;t know how to call them from the RTS.</div>

<div><br></div><div>This lead me to question what the point of out-of-line PrimOps in PrimOps.cmm is.  I don&#39;t think the commentary covers this.</div><div><br></div><div><div><a href="http://hackage.haskell.org/trac/ghc/wiki/Commentary/PrimOps">http://hackage.haskell.org/trac/ghc/wiki/Commentary/PrimOps</a><br>

</div></div><div><br></div><div style>So why aren&#39;t all the stuff in PrimOps.cmm just &quot;ccall&quot; wrappers around C implementations?  Wouldn&#39;t that in general be more flexible for the RTS?</div><div style><br>

</div><div style>Alexander</div></div>