Preventing Io message arguments from being prematurely collected

"dennisf486" <[email protected]>
Newsgroups gmane.comp.lang.io
Message-ID <[email protected]>
I'm having a problem where Io objects that come in as arguments to my (user-defined) perform function are getting prematurely garbage collected, before I have a chance to "grab hold" of them to mark them.

I tried adding a push collector pause at the top of my perform function, and a pop collector pause at function exit, and that fixed my original problem, but it is not a usable solution because now nothing gets garbage collected.  The collector pause count keeps going up with each iteration of my game loop, which makes no sense because all exit paths from my perform function have a pop collector pause!

I also tried marking the message object, but that didn't help.  Instrumentation I have added to watch for objects to be freed is reporting that the message object (argument m) has already been freed *before* I receive it in perform().  What gives?
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.