Index: client.scm ================================================================== --- client.scm +++ client.scm @@ -236,11 +236,12 @@ ;; client:launch ;; Need to set the signal handler somewhere other than here as this ;; routine will go away. ;; (define (client:launch run-id) - (set-signal-handler! signal/int client:signal-handler) + (set-signal-handler! signal/int client:signal-handler) + (set-signal-handler! signal/term client:signal-handler) (if (client:setup run-id) (debug:print-info 2 "connected as client") (begin (debug:print 0 "ERROR: Failed to connect as client") (exit)))) Index: common.scm ================================================================== --- common.scm +++ common.scm @@ -244,11 +244,11 @@ ;; E X I T H A N D L I N G ;;====================================================================== (define (std-exit-procedure) (set! *time-to-exit* #t) - (debug:print-info 0 "starting exit process, finalizing databases.") + (debug:print-info 4 "starting exit process, finalizing databases.") (if (debug:debug-mode 18) (rmt:print-db-stats)) (let ((th1 (make-thread (lambda () ;; thread for cleaning up, give it five seconds (let ((run-ids (hash-table-keys *db-local-sync*))) (if (and (not (null? run-ids)) @@ -267,15 +267,15 @@ (begin (sqlite3:interrupt! db) (sqlite3:finalize! db #t) (vector-set! *task-db* 0 #f)))))) "Cleanup db exit thread")) (th2 (make-thread (lambda () - (debug:print 0 "ERROR: Received ^C, attempting clean exit. Please be patient and wait a few seconds before hitting ^C again.") + (debug:print 4 "Attempting clean exit. Please be patient and wait a few seconds...") (thread-sleep! 5) ;; give the clean up few seconds to do it's stuff (debug:print 0 " Done.") - (exit 4)) - "exit on ^C timer"))) + (exit)) + "clean exit"))) (thread-start! th2) (thread-start! th1) (thread-join! th2))) (define (std-signal-handler signum) Index: megatest.scm ================================================================== --- megatest.scm +++ megatest.scm @@ -352,11 +352,12 @@ (< count 11)) ;; aprox 5-6 seconds (begin (thread-sleep! 1) (delay-loop (+ count 1)))) (loop))) - (debug:print-info 0 "Exiting watchdog timer, *time-to-exit* = " *time-to-exit*)))) + (if (common:low-noise-print 30) + (debug:print-info 0 "Exiting watchdog timer, *time-to-exit* = " *time-to-exit*))))) "Watchdog thread"))) (thread-start! *watchdog*) (if (args:get-arg "-log")