Overview
Comment: | fixed issue with portlocker, added more verbosity on server start |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | v1.60 |
Files: | files | file ages | folders |
SHA1: |
8cab551ef3a7d391e2038877da62a96e |
User & Date: | mrwellan on 2014-09-11 13:40:53 |
Other Links: | branch diff | manifest | tags |
Context
2014-09-11
| ||
13:58 | Bumping wait-on-journal for portlocker to 5 seconds check-in: 70e98ec239 user: mrwellan tags: v1.60 | |
13:40 | fixed issue with portlocker, added more verbosity on server start check-in: 8cab551ef3 user: mrwellan tags: v1.60 | |
13:03 | Experimental tweaks to address stuck server start issue check-in: 7c83ed2d8b user: mrwellan tags: v1.60 | |
Changes
Modified http-transport.scm from [23aae77ee3] to [02f4174079].
︙ | ︙ | |||
69 70 71 72 73 74 75 76 77 78 79 80 81 82 | ;; (string-intersperse (map number->string (u8vector->list (hostname->ip hostname))) ".") (server:get-best-guess-address hostname) #f))) (if ipstr ipstr hostn))) ;; hostname))) (start-port (portlogger:open-run-close portlogger:find-port)) (link-tree-path (configf:lookup *configdat* "setup" "linktree"))) ;; (set! db *inmemdb*) (root-path (if link-tree-path link-tree-path (current-directory))) ;; WARNING: SECURITY HOLE. FIX ASAP! (handle-directory spiffy-directory-listing) ;; http-transport:handle-directory) ;; simple-directory-handler) ;; Setup the web server and a /ctrl interface ;; | > | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | ;; (string-intersperse (map number->string (u8vector->list (hostname->ip hostname))) ".") (server:get-best-guess-address hostname) #f))) (if ipstr ipstr hostn))) ;; hostname))) (start-port (portlogger:open-run-close portlogger:find-port)) (link-tree-path (configf:lookup *configdat* "setup" "linktree"))) ;; (set! db *inmemdb*) (debug:print-info 0 "portlogger recommended port: " start-port) (root-path (if link-tree-path link-tree-path (current-directory))) ;; WARNING: SECURITY HOLE. FIX ASAP! (handle-directory spiffy-directory-listing) ;; http-transport:handle-directory) ;; simple-directory-handler) ;; Setup the web server and a /ctrl interface ;; |
︙ | ︙ | |||
345 346 347 348 349 350 351 352 353 354 355 356 357 358 | (set! sdat *server-info*) (mutex-unlock! *heartbeat-mutex*) (if (and sdat (not changed) (> (- (current-seconds) start-time) 2)) sdat (begin (sleep 4) (loop start-time (equal? sdat last-sdat) sdat)))))) (iface (car server-info)) (port (cadr server-info)) (last-access 0) | > | 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 | (set! sdat *server-info*) (mutex-unlock! *heartbeat-mutex*) (if (and sdat (not changed) (> (- (current-seconds) start-time) 2)) sdat (begin (debug:print-info 0 "Still waiting, last-sdat=" last-sdat) (sleep 4) (loop start-time (equal? sdat last-sdat) sdat)))))) (iface (car server-info)) (port (cadr server-info)) (last-access 0) |
︙ | ︙ |
Modified portlogger.scm from [942fb6cac8] to [dd8a916128].
︙ | ︙ | |||
15 16 17 18 19 20 21 | (declare (unit portlogger)) ;; lsof -i (define (portlogger:open-db fname) | | > | > > > | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | (declare (unit portlogger)) ;; lsof -i (define (portlogger:open-db fname) (let* ((avail (tasks:wait-on-journal fname 1 remove: #t)) ;; wait up to about 10 seconds for the journal to go away (exists (file-exists? fname)) (db (if avail (sqlite3:open-database fname) (begin (system (conc "rm -f " fname)) (sqlite3:open-database fname)))) (handler (make-busy-timeout 136000)) (canwrite (file-write-access? fname))) (sqlite3:set-busy-handler! db handler) (sqlite3:execute db "PRAGMA synchronous = 0;") (if (not exists) (sqlite3:execute db |
︙ | ︙ |
Modified tasks.scm from [393b62edba] to [a6ce176766].
︙ | ︙ | |||
20 21 22 23 24 25 26 | ;;====================================================================== ;; Tasks db ;;====================================================================== ;; wait up to aprox n seconds for a journal to go away ;; | | < | > > > < | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | ;;====================================================================== ;; Tasks db ;;====================================================================== ;; wait up to aprox n seconds for a journal to go away ;; (define (tasks:wait-on-journal path n #!key (remove #f)) (let ((fullpath (conc path "-journal"))) (let loop ((journal-exists (file-exists? fullpath)) (count n)) ;; wait ten times ... (if journal-exists (if (> count 0) (begin (thread-sleep! 1) (loop (file-exists? fullpath) (- count 1))) (begin (if remove (system (conc "rm -rf " path))) #f)) #t)))) ;; If file exists AND ;; file readable ;; ==> open it ;; If file exists AND ;; file NOT readable ;; ==> open in-mem version |
︙ | ︙ |