On 9/23/21 10:55 AM, eugene wrote:
On Thursday, 23 September 2021 at 14:31:34 UTC, jfondren wrote:
Nice. I thought of GC.addRoot several times but I was distracted by the general solution of using object lifetimes with it, so that a struct's destructor would call GC.removeRoot. For your case just pinning these and forgetting about them is the easiest way to do it.

Yes, these two must live until the end of main().
Moreover, in real (C) programs I (usually) do
not create state machines on the fly,
instead I keep them in pools, like RX/TX machines pools
in echo-server and in echo-client.


Technically, they should live past the end of main, because it's still possible to receive signals then.

But the chances of someone hitting ctrl-c in that window are quite small.

-Steve

Reply via email to