Index: db.scm ================================================================== --- db.scm +++ db.scm @@ -1694,11 +1694,11 @@ ;; Update run_stats for given run_id ;; input data is a list (state status count) ;; (define (db:update-run-stats dbstruct run-id stats) - ;; (mutex-lock! *db-transaction-mutex*) + (mutex-lock! *db-transaction-mutex*) (db:with-db dbstruct #f #t (lambda (dbdat db) @@ -1715,11 +1715,11 @@ (sqlite3:execute stmt1 run-id (car dat)(cadr dat)) (apply sqlite3:execute stmt2 run-id dat)) stats))))) (sqlite3:finalize! stmt1) (sqlite3:finalize! stmt2) - ;; (mutex-unlock! *db-transaction-mutex*) + (mutex-unlock! *db-transaction-mutex*) res)))) (define (db:get-main-run-stats dbstruct run-id) (db:with-db dbstruct Index: tcp-transportmod.scm ================================================================== --- tcp-transportmod.scm +++ tcp-transportmod.scm @@ -788,32 +788,33 @@ (let* ((indat (deserialize)) (result #f) (exn-result #f) (stdout-result (with-output-to-string (lambda () - (let ((res (handle-exceptions - exn - (let* ((errdat (condition->list exn))) - (set! exn-result errdat) - (debug:print 0 *default-log-port* "ERROR: handler exception, these are bad, will exit in five seconds.") - (pp errdat *default-log-port*) - ;; these are always bad, set up an exit thread - (thread-start! (make-thread (lambda () - (thread-sleep! 5) - (exit)))) - #f) + (let ((res ;; ndle-exceptions + ;; exn + ;; let* ((errdat (condition->list exn))) + ;; (set! exn-result errdat) + ;; (debug:print 0 *default-log-port* "ERROR: handler exception, these are bad, will exit in five seconds.") + ;; (pp errdat *default-log-port*) + ;; ;; these are always bad, set up an exit thread + ;; (thread-start! (make-thread (lambda () + ;; (thread-sleep! 5) + ;; (exit)))) + ;; #f) (handler indat) ;; this is the proc being called by the remote client - ))) + )) ;; ) (set! result res))))) (full-result (list result exn-result (if (equal? stdout-result "") #f stdout-result)))) - (handle-exceptions - exn - (begin - (debug:print 0 *default-log-port* "Serialization failure. full-result="full-result) - ;; (serialize '(#f #f #f)) ;; doesn't work - the first call to serialize caused failure - ) - (serialize full-result)))))) + ;; (handle-exceptions + ;; exn + ;; (begin + ;; (debug:print 0 *default-log-port* "Serialization failure. full-result="full-result) + ;; ;; (serialize '(#f #f #f)) ;; doesn't work - the first call to serialize caused failure + ;; + ;; ) + (serialize full-result))))) ;; ) ((make-tcp-server socket handler-proc) #f ;; yes, send error messages to std-err ))) ;; create a tcp listener and return a populated udat struct with