On Sunday, 19 September 2021 at 16:27:55 UTC, jfondren wrote:
This is also a sufficient patch to prevent the segfault:

```
diff --git a/echo_client.d b/echo_client.d
index 1f8270e..0b968a8 100644
--- a/echo_client.d
+++ b/echo_client.d
@@ -39,4 +39,6 @@ void main(string[] args) {
     auto md = new MessageDispatcher();
     md.loop();
     writeln(" === Goodbye, world! === ");
+    writeln(stopper.sg0.number);
+    //writeln(stopper.sg1.number);
 }

This one really helps, program terminates as expected:

```
'MAIN @ IDLE' got 'T0' from 'OS'
'MAIN @ IDLE' got 'T0' from 'OS'
^Csi.sizeof = 128
'STOPPER @ IDLE' got 'S0' from 'OS'
0
 === Goodbye, world! ===
___!!!___edsm.StageMachine.~this(): MAIN destroyed...
ecap.EventQueue.~this
!!! esrc.EventSource.~this() : esrc.Timer (owner MAIN, fd = 4) this @ 0x7f15e6c870c0
___!!!___edsm.StageMachine.~this(): STOPPER destroyed...
!!! esrc.EventSource.~this() : esrc.Signal (owner STOPPER, fd = 5) this @ 0x7f15e6c8a150 !!! esrc.EventSource.~this() : esrc.Signal (owner STOPPER, fd = 6) this @ 0x7f15e6c8a180
```

Reply via email to