• exec/load/recordfile.js

    From deuce@1:103/705 to CVS commit on Sat Aug 10 14:18:52 2019
    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.



    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sat Aug 10 14:38:21 2019
    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.



    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sat Aug 10 14:47:37 2019
    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.



    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sat Aug 17 18:27:08 2019
    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.



    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Aug 18 11:27:05 2019
    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)



    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sun Aug 18 12:17:19 2019
    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.



    --- SBBSecho 3.08-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sat Aug 24 19:18:45 2019
    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.



    --- SBBSecho 3.09-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Aug 27 09:50:27 2019
    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.



    --- SBBSecho 3.09-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Aug 27 15:56:49 2019
    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.



    --- SBBSecho 3.09-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Tue Aug 27 19:27:37 2019
    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.



    --- SBBSecho 3.09-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Mon Sep 2 22:29:06 2019
    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.



    --- SBBSecho 3.09-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Fri Sep 6 21:39:09 2019
    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.



    --- SBBSecho 3.09-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Sat Sep 21 01:36:45 2019
    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.



    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From deuce@1:103/705 to CVS commit on Mon Apr 6 15:51:23 2020
    exec/load recordfile.js 1.30 1.31
    Update of /cvsroot/sbbs/exec/load
    In directory cvs:/tmp/cvs-serv24925

    Modified Files:
    recordfile.js
    Log Message:
    Covert signed integers to unsigned before writing.



    --- SBBSecho 3.10-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Mon Mar 1 22:05:06 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/f689af6f9f61c2a0efd6deb7
    Modified Files:
    exec/load/recordfile.js
    Log Message:
    Add put() and reInit() support for object/object array types.Apparently, I've never needed this before.
    --- SBBSecho 3.13-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Tue Mar 2 16:22:52 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/e49448b3f25aad3dd6606fff
    Modified Files:
    exec/load/recordfile.js
    Log Message:
    Add a close method.
    --- SBBSecho 3.13-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Mar 3 22:01:09 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/7d9d878edebc528424256cf4
    Modified Files:
    exec/load/recordfile.js
    Log Message:
    Looks like a vbuf size of a record is broken. :(
    --- SBBSecho 3.13-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)
  • From Deucе@1:103/705 to Git commit to main/sbbs/master on Wed Mar 3 23:40:43 2021
    https://gitlab.synchro.net/main/sbbs/-/commit/6ca58cf825da2af075306842
    Modified Files:
    exec/load/recordfile.js
    Log Message:
    Revert back to using vbuf for write buffering.While it would be nice to serialize it and do a single write, there'sno native functions to create binary
    values from numbers in theSynchronet JS object model at this time.
    --- SBBSecho 3.13-Linux
    * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705)