https://gitlab.synchro.net/main/sbbs/-/commit/9a89f8c97776107f1d19e52a
Modified Files:
exec/dorkit/ansi_input.js jsexec_input.js local_console.js sbbs_input.js socket_input.js exec/load/dorkit.js src/conio/ciolib.h
Log Message:
Deal with dorkit hangup issues... commit #1
1) Ciolib CIO_KEY_QUIT and CIO_KEY_MOUSE conflicted with ALT_7 and ALT_6
respectively, change these to use \xE0 prefixes.
2) Add a new dorkit key "CONNECTION_CLOSED" which is returned by getkey()
after the connection is closed.
3) Have the various connection back-ends send a CONNECTION_CLOSED key to
the keyboard buffer when the connection is closed.
4) Have the local console send a CONNECTION_CLOSED key when the window
is closed.
5) Disable auto_terminate in dorkit.
6) Introduce dk.connection.disconnect_timeout variable (defaults to 30
seconds). After a CONNECTION_CLOSED key is received, dorkit will
immediately set js.terminated, then after disconnect_timeout seconds,
will enable js.auto_terminate.
7) After a CONNECTION_CLOSED key, waitkey() always returns true, getkey()
always returns a CONNECTION_CLOSED key, and getbyte() always returns
undefined.
8) To prevent a poorly written door from hogging 100% CPU for the whole
30 seconds, put an mswait(1) in the connection check when the
inactivity timer is running.
---
■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net