• src/syncterm/conn_pty.c modem.c ripper.c rlogin.c ssh.c

    From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Apr 26 16:25:32 2023
    https://gitlab.synchro.net/main/sbbs/-/commit/62aa99b82827a4d473963093
    Modified Files:
    src/syncterm/conn_pty.c modem.c ripper.c rlogin.c ssh.c
    Log Message:
    Don't commit to waits more than 100ms in a connectionThis works around an issue on macOS and Linux where a select() orpoll() in thread X won't return when close() is called on the samesocket in thread Y.We also set the descriptor/handle/whatever to an invalid valuewhile waiting for io threads to terminate so that a close() in onethread won't cause other threads to possibly interact with a newdescriptor created after the close(). This isn't actually somethingthat can happen in SyncTERM, but it's worth protecting against.Finally, don't call close() until after all io threads haveterminated. This prevents the descriptor from becoming availableto other syscalls while threads are closing, and prevents operationson an invalid descriptor.This is still not safe on platforms where a descriptor value writeis not atomic, but I don't think I support any platform like that.Reported as #212 in github, and 75 on SourceForge.
    --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Digital Man@1:103/705 to Deuc¿ on Wed Apr 26 16:41:54 2023
    Re: src/syncterm/conn_pty.c modem.c ripper.c rlogin.c ssh.c
    By: Deuc¨ to Git commit to main/sbbs/master on Wed Apr 26 2023 04:25 pm

    Reported as #212 in github, and 75 on SourceForge.

    github?
    --
    digital man (rob)

    Synchronet "Real Fact" #70:
    Rob Swindell was interviewed for Jason Scott's BBS Documentary in July of 2002 Norco, CA WX: 79.1øF, 41.0% humidity, 12 mph SSE wind, 0.00 inches rain/24hrs --- SBBSecho 3.20-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)