• src/sbbs3/main.cpp

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sunday, December 22, 2024 14:37:37
    https://gitlab.synchro.net/main/sbbs/-/commit/74724d0b83150c1da1a88d74
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    When searching for unused nodes, skip nodes that have sockets in-use

    We already know such nodes are in-use, so no need to read their node.dab
    record and put extra contention on the node.dab file. Hoepfully this
    reduces or eliminates occurrences of the error:
    Node n status is WFC, but the node socket (s) and thread are still in use! Though I kind of expect occurrences of "NODE STATUS FIXUP" errors to likely return.

    We could in theory just track status of nodes in memory (for those
    nodes that this instance of sbbs controls), and not read the node.dab file at all when checking those nodes' status, but:
    - that would prevent out of process control of node status
    e.g. using the node utility to mark a node as offline
    - we'd have to protect instance of in-memory node status checking/changing
    with a mutex

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sunday, December 22, 2024 21:32:50
    https://gitlab.synchro.net/main/sbbs/-/commit/a4f032b82ed2ddfbd23e963d
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix-up node status when node status is in-use, but no socket active

    This is a situation we can auto-correct and log a message when we do.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Friday, December 27, 2024 16:17:12
    https://gitlab.synchro.net/main/sbbs/-/commit/2d487931e40d312071024416
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Fix race conditions around node_socket and node.dab checks

    Check and clear/invalidate node_socket while holding the node.dab record
    lock.

    This should fix the error reported by kk4qnb (KK4QBN)

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Wednesday, January 01, 2025 21:40:30
    https://gitlab.synchro.net/main/sbbs/-/commit/480598355c061c7a3507f24e
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Continue the "ERROR ... renaming" bad QWK packet fight

    Check and log the length of the packet now (since fexist() continues to report that the file exists when fexistcase() said it did not, even when
    experimenting with adding a call to access(filanem, F_OK).

    This likely affects no system but VERT.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Thursday, January 02, 2025 00:34:57
    https://gitlab.synchro.net/main/sbbs/-/commit/e4e41db746c18c1bab6a0083
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Don't create (or write) to qnet.dab, so open with right access

    We're just converting/upgrading this file (to time.ini), so don't log an error (reading) if/when the file doesn't exist.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Friday, January 03, 2025 17:45:26
    https://gitlab.synchro.net/main/sbbs/-/commit/d06e2f27e7f3862cf049bc6a
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Add another flength() check before renaming bad QWK packets

    To hopefully address:
    !ERROR 2 (No such file or directory) renaming s:\sbbs\data\file/somenum.rep
    (-1 bytes) to s:\sbbs\data\file/somenum.rep.6777ed7c.bad

    Clearly flength() is returning -1 (file doesn't exist) at this point, so perhaps the call to fremove() just above updated a cached directory?

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Windows 11)@VERT to Git commit to main/sbbs/master on Monday, January 20, 2025 20:37:00
    https://gitlab.synchro.net/main/sbbs/-/commit/3bf096b52465792776df3787
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Make JS global alert() and deny() methods inline with jsexec versions

    alert() doesn't throw exception on null/undefined, just no arg

    deny() throws exception on no args or null/undefined arg

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Sunday, February 09, 2025 00:09:25
    https://gitlab.synchro.net/main/sbbs/-/commit/64352121b6727a90eee5e848
    Modified Files:
    src/sbbs3/main.cpp
    Log Message:
    Don't attempt to remove inbound QWK packet if doesn't exist (renamed?)

    Address error report by Greg Meckel (THEICECA)
    evnt QNET !ERROR 2 (No such file or directory) (EinError 2) in main.cpp line 3195 (event_thread) removing "C:\sbbs\data\VERT.qwk" access=0

    ... this could happen after a bad QWK packet was detected and renamed.

    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net