Overview
Comment: | Fixed sync back |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.80-tcp-inmem |
Files: | files | file ages | folders |
SHA1: |
5e7e64a893615669d0cedc490bd0662e |
User & Date: | matt on 2023-02-21 17:47:48 |
Other Links: | branch diff | manifest | tags |
Context
2023-02-21
| ||
17:58 | Switching default to tcp/inmem on build check-in: 2b61f8385c user: matt tags: v1.80-tcp-inmem | |
17:47 | Fixed sync back check-in: 5e7e64a893 user: matt tags: v1.80-tcp-inmem | |
17:02 | merged fork check-in: d8fae05b29 user: matt tags: v1.80-tcp-inmem | |
Changes
Modified tcp-transportmod.scm from [0a6f894ec9] to [0ff5eb9c1f].
︙ | ︙ | |||
336 337 338 339 340 341 342 | ;; listener socket has been started by this stage ;; wait for a port before creating the registration file ;; (let* ((cleanup (lambda () (if (tt-cleanup-proc ttdat) ((tt-cleanup-proc ttdat)))))) (let loop ((count 0)) | | < < < | < < > | 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 | ;; listener socket has been started by this stage ;; wait for a port before creating the registration file ;; (let* ((cleanup (lambda () (if (tt-cleanup-proc ttdat) ((tt-cleanup-proc ttdat)))))) (let loop ((count 0)) (if (> count 240) (begin (debug:print 0 *default-log-port* "FATAL: Could not start a tcp server, giving up.") (exit 1)) (if (not (tt-port ttdat)) ;; no connection yet (begin (thread-sleep! 0.25) (loop (+ count 1)))))) ;; load or reload the data into inmem db before ;; ((dbr:dbstruct-sync-proc dbstruct) (dbr:dbstruct-last-update dbstruct)) ;; (dbr:dbstruct-last-update-set! dbstruct (- (current-seconds) 1)) (tt:create-server-registration-file ttdat dbfname) ;; now start watching the last-access, if it hasn't been touched ;; in over ten seconds we exit (thread-sleep! 0.05) ;; any real need for delay here? |
︙ | ︙ | |||
389 390 391 392 393 394 395 | (if ok ;; (if (> *api-process-request-count* 0) ;; have requests in flight ;; (tt-last-access-set! ttdat (current-seconds))) (tt-last-access-set! ttdat *db-last-access*) ;; bit silly, just use db-last-access (begin (cleanup) (exit))) | | > > > > > > > | | | 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 | (if ok ;; (if (> *api-process-request-count* 0) ;; have requests in flight ;; (tt-last-access-set! ttdat (current-seconds))) (tt-last-access-set! ttdat *db-last-access*) ;; bit silly, just use db-last-access (begin (cleanup) (exit))) (let* ((last-update (dbr:dbstruct-last-update dbstruct)) (curr-secs (current-seconds))) (if (> (- curr-secs last-update) 3) ;; every 3-4 seconds update the db? maybe this should be refresh the inmem? (begin ((dbr:dbstruct-sync-proc dbstruct) last-update) (dbr:dbstruct-last-update-set! dbstruct curr-secs)))) (if (< (- (current-seconds) (tt-last-access ttdat)) 60) (begin (thread-sleep! 5) (loop))))) (cleanup) (debug:print 0 *default-log-port* "INFO: Server timed out, exiting."))) ;; ;; given an already set up uconn start the cmd-loop ;; ;; ;; (define (tt:cmd-loop ttdat) ;; (let* ((serv-listener (-socket uconn)) ;; (listener (lambda () |
︙ | ︙ |