Megatest

Check-in [d5009e9f15]
Login
Overview
Comment:Unlock communication mutex on recoverable crash. Return #f when communication fails, not (vector #f stuff ...)
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | v1.60
Files: files | file ages | folders
SHA1: d5009e9f1565975cb8d82b0c8801a8a9ecc3304f
User & Date: mrwellan on 2014-12-09 09:29:08
Other Links: branch diff | manifest | tags
Context
2014-12-09
09:38
Allow some retries on run queue processing if server died (temporary work-around until the recovery is coded correctly) check-in: 187be74df3 user: mrwellan tags: v1.60
09:29
Unlock communication mutex on recoverable crash. Return #f when communication fails, not (vector #f stuff ...) check-in: d5009e9f15 user: mrwellan tags: v1.60
2014-12-08
23:44
Corrected few typos check-in: d575c7cef1 user: matt tags: v1.60
Changes

Modified http-transport.scm from [7c1ad3a799] to [30e3275ed4].

271
272
273
274
275
276
277

278
279
280
281
282
283
284
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285







+







					   (begin
					     (set! success #f)
					     (debug:print 0 "WARNING: failure in with-input-from-request to " fullurl ".")
					     (debug:print 0 " message: " ((condition-property-accessor 'exn 'message) exn))
					     (hash-table-delete! *runremote* run-id)
					     ;; Killing associated server to allow clean retry.")
					     (tasks:kill-server-run-id run-id)  ;; better to kill the server in the logic that called this routine?
					     (mutex-unlock! *http-mutex*)
					     (signal (make-composite-condition
						      (make-property-condition 'commfail 'message "failed to connect to server")))
					     "communications failed")
					   (with-input-from-request ;; was dat
					    fullurl 
					    (list (cons 'key "thekey")
						  (cons 'cmd cmd)

Modified rmt.scm from [d290c3167a] to [434920ac36].

234
235
236
237
238
239
240
241

242
243
244
245
246
247
248
234
235
236
237
238
239
240

241
242
243
244
245
246
247
248







-
+







      res)))

(define (rmt:send-receive-no-auto-client-setup connection-info cmd run-id params)
  (let* ((run-id   (if run-id run-id 0))
	 ;; (jparams  (db:obj->string params)) ;; (rmt:dat->json-str params))
	 (res  	   (condition-case
		    (http-transport:client-api-send-receive run-id connection-info cmd params)
		    ((commfail)(vector #f "communications fail")))))
		    ((commfail) #f)))) ;; (vector #f "communications fail")))))
    (if (and res (vector-ref res 0))
	res
	#f)))
;; 	(db:string->obj (vector-ref dat 1))
;; 	(begin
;; 	  (debug:print 0 "ERROR: rmt:send-receive-no-auto-client-setup failed, attempting to continue. Got " dat)
;; 	  dat))))