Megatest

Check-in [48b415009f]
Login
Overview
Comment:Added clean exit for nn using 'quit
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.6584-nanomsg
Files: files | file ages | folders
SHA1: 48b415009ff4d897929c64bf5b1e4244db2a0468
User & Date: matt on 2021-06-18 22:29:15
Other Links: branch diff | manifest | tags
Context
2021-06-19
05:00
More trimming, clean up etc. but stil finalizer bug continues check-in: 3a56e7f78c user: matt tags: v1.6584-nanomsg
2021-06-18
22:29
Added clean exit for nn using 'quit check-in: 48b415009f user: matt tags: v1.6584-nanomsg
05:44
wip to clean up server shutdown process check-in: e75192ae30 user: matt tags: v1.6584-nanomsg
Changes

Modified rmtmod.scm from [dca8b0d5fd] to [533f23dd29].

2124
2125
2126
2127
2128
2129
2130
2131

2132
2133
2134
2135
2136
2137
2138
2124
2125
2126
2127
2128
2129
2130

2131
2132
2133
2134
2135
2136
2137
2138







-
+







		      (debug:print-info 0 *default-log-port* "Not starting watchdog thread (in state "(thread-state watchdog)")"))
		  (debug:print 0 *default-log-port* "ERROR: *watchdog* not setup, cannot start it."))
	      #;(loop (+ count 1) bad-sync-count start-time)
	      ))

	(debug:print-info 0 *default-log-port* "syncing "*toppath*" "dbname" at "(current-seconds))
	(db:sync-inmem->disk *dbstruct-db* *toppath* dbname)

	
	(mutex-unlock! *heartbeat-mutex*)
	
	;; when things go wrong we don't want to be doing the various
	;; queries too often so we strive to run this stuff only every
	;; four seconds or so.
	(let* ((sync-time (- (current-milliseconds) start-time))
	       (rem-time  (quotient (- 4000 sync-time) 1000)))
2156
2157
2158
2159
2160
2161
2162
2163
2164


2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2156
2157
2158
2159
2160
2161
2162


2163
2164







2165
2166
2167
2168
2169
2170
2171







-
-
+
+
-
-
-
-
-
-
-







		 (> (+ last-access server-timeout)
		    (current-seconds)))
	    (if (common:low-noise-print 120 "server continuing")
		(debug:print-info 0 *default-log-port* "Server continuing, seconds since last db access: " (- (current-seconds) last-access)))
	    (loop 0 bad-sync-count (current-milliseconds)))
	   (else
	    (debug:print-info 0 *default-log-port* "Server timed out. seconds since last db access: " (- (current-seconds) last-access))


	    (open-send-receive-nn (conc iface":"port)      ;; do this here and not in server-shutdown
				  (sexpr->string 'quit))


	    ;; send self 'quit here



	    
	    (http-transport:server-shutdown port))))))))

(define (http-transport:server-shutdown port)
  (begin
    ;;(BB> "http-transport:server-shutdown called")
    (debug:print-info 0 *default-log-port* "Starting to shutdown the server. pid="(current-process-id))
    ;;