Just a sample of the Echomail archive
Cooperative anarchy at its finest, still active today. Darkrealms is the Zone 1 Hub.
|    SYNC_PROGRAMMING    |    Synchronet/Baja/XSDK Programming    |    49,116 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 48,696 of 49,116    |
|    Rob Swindell (on Windows 11) to Git commit to main/sbbs/master    |
|    src/sbbs3/ctrl/MainFormUnit.cpp    |
|    12 Jan 26 22:51:03    |
      TZUTC: -0800       MSGID: 54127.syncprog@1:103/705 2dcbf4c6       PID: Synchronet 3.21b-Linux master/177a369d2 Jan 04 2026 GCC 12.2.0       TID: SBBSecho 3.34-Linux master/f717faea9 Jan 12 2026 GCC 12.2.0       BBSID: VERT       CHRS: ASCII 1       FORMAT: flowed       https://gitlab.synchro.net/main/sbbs/-/commit/f65fd89a106023a5aa7570ce       Modified Files:        src/sbbs3/ctrl/MainFormUnit.cpp       Log Message:       Resolve crashes during graceful server termination(s)              These crashes have been happening seemingly forever, but only noticed (by me)       when running in a debugger, otherwise Windows seems to suppress any exception       message/popup since the process terminates anyway.              The problem appears to be that we were setting app controls (e.g. start/stop       button states) in the startup->set_state callbacks and it was possible through       race conditions that the application (or at least the forms) were actually       destroyed already at the time those callbacks are called (to a report server       state of STOPPED as one of the last things each server thread does).              The solution was to store the value of the reported server states in (global)       variables and asynchronously (at "appy time") update the relevant controls       based on the server state(s). Since the LogTimer runs more frequently (2Hz)       than UpTimer (1Hz) and isn't stopped (early) during process termination,       that was the place best-suited to do these control updates.              In this process, I also made the app controls make more sense (e.g. the       "Start" button is disabled during server initialization) and the "Abort"       dialing while waiting for graceful server termination(s) is much improved       (e.g. lists all the servers still running), but now it does not popup for 60       seconds after termination requested (rather than 30 seconds as before) - as       if the user presses "Yes", this initiates an *ungraceful* exit of the program       which could result in crashes (though Microsoft seems to suppress the user       notification of these).       --- SBBSecho 3.34-Linux        * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)       SEEN-BY: 10/0 1 102/401 103/705 105/81 106/201 124/5016 128/187 129/14       SEEN-BY: 153/7715 154/110 214/22 218/0 1 215 700 810 226/30 227/114       SEEN-BY: 229/110 134 206 317 400 426 428 470 700 705 266/512 280/464       SEEN-BY: 291/111 301/1 320/219 322/757 342/200 396/45 460/58 633/280       SEEN-BY: 712/848 902/26 5075/35       PATH: 103/705 218/700 229/426           |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca