241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
|
(if (dboard:common-get-tabdat commondat tab-num: tab-num) ;; only update if there is a tabdat
(let* ((tnum (or tab-num (dboard:commondat-curr-tab-num commondat)))
(updaters (hash-table-ref/default (dboard:commondat-updaters commondat)
tnum
'())))
(if *updaters-running*
(debug:print 0 *default-log-port* "updaters still running.")
(let* ((th1 (make-thread (lambda ()
(debug:print 4 *default-log-port* "Found these updaters: " updaters " for tab-num: " tnum)
(for-each ;; perform the function calls for the complete updaters list
(lambda (updater)
(let ((start-ms (current-milliseconds)))
(debug:print 0 *default-log-port* "Running updater for tnum "tnum", "updater)
|
>
>
>
>
>
>
>
>
|
|
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
|
(if (dboard:common-get-tabdat commondat tab-num: tab-num) ;; only update if there is a tabdat
(let* ((tnum (or tab-num (dboard:commondat-curr-tab-num commondat)))
(updaters (hash-table-ref/default (dboard:commondat-updaters commondat)
tnum
'())))
(debug:print 4 *default-log-port* "Found these updaters: " updaters " for tab-num: " tnum)
(for-each ;; perform the function calls for the complete updaters list
(lambda (updater)
;; (debug:print 3 *default-log-port* "Running " updater)
(updater))
updaters))))
#;(if *updaters-running*
(debug:print 0 *default-log-port* "updaters still running.")
(let* ((th1 (make-thread (lambda ()
(debug:print 4 *default-log-port* "Found these updaters: " updaters " for tab-num: " tnum)
(for-each ;; perform the function calls for the complete updaters list
(lambda (updater)
(let ((start-ms (current-milliseconds)))
(debug:print 0 *default-log-port* "Running updater for tnum "tnum", "updater)
|
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
|
(thread-sleep! 0.5)
(loop))))))))
(set! *updaters-running* #t)
(thread-start! th1)
(thread-sleep! 0.1)
(thread-start! th2)
(thread-join! th1)
(set! *updaters-running* #f))))))
;; if tab-num passed in then use it, otherwise look in commondat at curr-tab-num
;; adds the updater passed in the updaters list at that hashkey
;;
(define (dboard:commondat-add-updater commondat updater #!key (tab-num #f))
(let* ((tnum (or tab-num
(dboard:commondat-curr-tab-num commondat)))
|
|
>
|
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
|
(thread-sleep! 0.5)
(loop))))))))
(set! *updaters-running* #t)
(thread-start! th1)
(thread-sleep! 0.1)
(thread-start! th2)
(thread-join! th1)
(set! *updaters-running* #f)))
;; if tab-num passed in then use it, otherwise look in commondat at curr-tab-num
;; adds the updater passed in the updaters list at that hashkey
;;
(define (dboard:commondat-add-updater commondat updater #!key (tab-num #f))
(let* ((tnum (or tab-num
(dboard:commondat-curr-tab-num commondat)))
|