1. 05 Apr, 2021 4 commits
    • Deucе's avatar
      More closely reproduce select() behaviour when using poll() · b5b02ba5
      Deucе authored
      Specifically, have errors mean the fd is "ready".
      
      Also, fix some extra revent clearing and a spy socket issue while
      we're looking at this code.
      
      Should fix issues with CGI scripts that close stdin/stdout but do
      not terminate, and maybe deal with some other corner cases at the
      same time.
      b5b02ba5
    • Deucе's avatar
      EVN MR! · 5bf7a847
      Deucе authored
      5bf7a847
    • Deucе's avatar
      MOAR! · 9b14bb14
      Deucе authored
      9b14bb14
    • Deucе's avatar
      Spaces -> Tabs · 59bb0c3d
      Deucе authored
      Tabs are the shit.
      59bb0c3d
  2. 04 Apr, 2021 3 commits
  3. 02 Apr, 2021 1 commit
    • Deucе's avatar
      Initial work on setTimeout() · ad635a64
      Deucе authored
      This appears to work and the event handler *should* work on other
      event types already.
      
      Note, this is *nix-only due to the use of poll().  select() will
      need to be used for Windows to keep XP compatability.
      ad635a64
  4. 31 Mar, 2021 2 commits
    • Deucе's avatar
      Fix error in last commit. · 8f0ae86b
      Deucе authored
      Looks like I was partially restoring old code before I stopped.
      8f0ae86b
    • Deucе's avatar
      Use new PREFER_POLL define to control poll() usage · 3de05e2d
      Deucе authored
      Rather than depending on _WIN32 which is silly, make it clear what
      exactly is being done and why.
      
      Note that the spy socket stuff and some external stuff on *nix have
      had the select() implementation removed.  To support using select()
      on !Win32 will require de-refactoring that's not really worth doing.
      Instead, just use #error and reference the commit where the old
      code can be found.
      3de05e2d
  5. 30 Mar, 2021 1 commit
    • Deucе's avatar
      Initial poll() work · af30c430
      Deucе authored
      Still needs updates in services_thread(), CGI stuff in websrvr.c,
      and sbbs_t::external()
      af30c430
  6. 17 Mar, 2021 1 commit
  7. 16 Mar, 2021 1 commit
  8. 15 Mar, 2021 3 commits
  9. 06 Mar, 2021 2 commits
    • Rob Swindell's avatar
      Allow fine-grained control over JavaScript compiler options via *.ini · 2c7f3bc6
      Rob Swindell authored
      JavaScriptOptions bit-field can be set in sbbs.ini and jsexec.ini to over-ride the default JS compiler options which have been changed from 0 to (options previously only used by JSDoor):
      JIT | METHODJIT | COMPILE_N_GO | PROFILING
      
      * JIT - TraceMonkey
      * METHODJIT - JägerMonkey
      * COMPILE_N_GO - compile-time scope chain resolution of consts
      * PROFILING - Choose between TraceMonkey and JägerMonkey at compile-time based on profiling results
      
      Other options available but not enabled by default:
      * STRICT - warn on debious practice (i.e. similar to "use strict")
      * WERROR - convert warnings to errors
      * VAROBJFIX -  use last object on scope chain as the ECMA 'variables object'
      * RELIMIT - Throw exception on any regular expression which backtracks more than n^3 times, where n is length of the input string
      * ANONFUNFIX - Disallow function () {} in statement context per ECMA-262 Edition 3.
      * METHODJIT_ALWAYS - Always whole-method JIT, don't tune at run-time.
      
      Also:
      - Fixed JS warning string formatting (missing space separator).
      - Removed an extraneous new-line in lprintf() call in mailsrvr.
      - Added basic assertEq() global method to jsexec, required when running SpiderMonkey test scripts.
      2c7f3bc6
    • Rob Swindell's avatar
      Don't leave the logged event code as "DAILY" after daily events run · f4d33f43
      Rob Swindell authored
      I noticed "DAILY ... Semaphore signaled" in the event thread log output. Now fixed.
      f4d33f43
  10. 22 Feb, 2021 3 commits
  11. 18 Feb, 2021 4 commits
  12. 16 Feb, 2021 2 commits
  13. 15 Feb, 2021 4 commits
  14. 14 Feb, 2021 1 commit
  15. 18 Jan, 2021 1 commit
    • Rob Swindell's avatar
      Safe string handling with config-load error messages · 99dbeb14
      Rob Swindell authored
      We were just trusting that the error strings would be shorter than 256 (usually), but since we're including paths and strerror() results, we really have no control over the length of the error strings. So enforce some healthy boundaries. This could explain the crashes that Divarin of Mutiny is seeing with SCFG on WinXP or maybe it was the truncsp(strerror()) stuff that was just removed as well. We'll see...
      99dbeb14
  16. 20 Dec, 2020 1 commit
  17. 13 Dec, 2020 4 commits
  18. 07 Dec, 2020 1 commit
  19. 29 Nov, 2020 1 commit