• exec/load/recordfile.js

    From deuce@VERT to CVS commit on Saturday, August 10, 2019 21:18:52
    exec/load recordfile.js 1.15 1.16
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv23936

    Modified Files:
    recordfile.js
    Log Message:
    Add Lock() and UnLock() methods, and lock the record when creating a new
    one.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Saturday, August 10, 2019 21:38:21
    exec/load recordfile.js 1.16 1.17
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv26376

    Modified Files:
    recordfile.js
    Log Message:
    We can't just add milliseconds to a Date object.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Saturday, August 10, 2019 21:47:37
    exec/load recordfile.js 1.17 1.18
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv27457

    Modified Files:
    recordfile.js
    Log Message:
    Wait a millisecond before retrying a lock.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Sunday, August 18, 2019 01:27:08
    exec/load recordfile.js 1.18 1.19
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv8364

    Modified Files:
    recordfile.js
    Log Message:
    Add an optional "keep locked" paremeter to file I/O functions.
    Default is to have the same lock state on return as when entered.
    Lock records when reading/writing.

    Fix defaults to be raw values rather than objects... most obvious with
    Boolean values.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Sunday, August 18, 2019 18:27:05
    exec/load recordfile.js 1.19 1.20
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv5841

    Modified Files:
    recordfile.js
    Log Message:
    More concurrency changes...
    1) Don't mswait(1) on a successful lock, or when timeout is zero.
    2) Flush read buffer on Get and ReLoad()
    - If there's a single record in the file, close and re-open it.
    - If a lock is held on a different record already, read that record.
    - Otherwise, read the first record a lock with timeout zero succeeds.
    3) Flush write buffer on Put().

    This should now actually be safe as long as locks work.
    Using file_mutex() on records is the only potential change still needed. (Because POSIX fcntl() locks are insane)




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Sunday, August 18, 2019 19:17:19
    exec/load recordfile.js 1.20 1.21
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv12559

    Modified Files:
    recordfile.js
    Log Message:
    More concurency overhaul.
    Remember that only one record lock can be held per file on some systems due
    due flock() usage.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Sunday, August 25, 2019 02:18:45
    exec/load recordfile.js 1.23 1.24
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv9269/load

    Modified Files:
    recordfile.js
    Log Message:
    To make JSLint happy, non-constructer functions must not begin with an upper-case character.

    Provide upper-case wrapper for compatibility.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tuesday, August 27, 2019 16:50:27
    exec/load recordfile.js 1.24 1.25
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv12112/load

    Modified Files:
    recordfile.js
    Log Message:
    Support 16-bit integers.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tuesday, August 27, 2019 22:56:49
    exec/load recordfile.js 1.25 1.26
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv16091

    Modified Files:
    recordfile.js
    Log Message:
    Add 8-bit integer and "Pascal" string support.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Wednesday, August 28, 2019 02:27:37
    exec/load recordfile.js 1.26 1.27
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv18204/load

    Modified Files:
    recordfile.js
    Log Message:
    Fix some buts for PString and Integer8 types.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Tuesday, September 03, 2019 05:29:06
    exec/load recordfile.js 1.27 1.28
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv27272/load

    Modified Files:
    recordfile.js
    Log Message:
    Always use base 10 for parseInt(), fix PString handling.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Saturday, September 07, 2019 04:39:09
    exec/load recordfile.js 1.28 1.29
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv17506

    Modified Files:
    recordfile.js
    Log Message:
    For NaN to zero when writing number types.




    ---
    þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net
  • From deuce@VERT to CVS commit on Saturday, September 21, 2019 08:36:45
    exec/load recordfile.js 1.29 1.30
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv21661/load

    Modified Files:
    recordfile.js
    Log Message:
    Add support for nested objects.
    Fix bug writing Integer8 values.




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