thread: fix resume of suspended sync
This commit is contained in:
parent
e066bb44ea
commit
f8297f9c00
|
@ -40,7 +40,7 @@
|
|||
(all-threads-poll-done?)
|
||||
(waiting-on-external-or-idle?))
|
||||
(or (check-external-events 'slow)
|
||||
(post-idle)
|
||||
(try-post-idle)
|
||||
(process-sleep)))
|
||||
(define child (thread-group-next! g))
|
||||
(cond
|
||||
|
@ -196,6 +196,12 @@
|
|||
;; Maybe some thread can proceed:
|
||||
(thread-did-work!))
|
||||
|
||||
(define (try-post-idle)
|
||||
(and (post-idle)
|
||||
(begin
|
||||
(thread-did-work!)
|
||||
#t)))
|
||||
|
||||
;; ----------------------------------------
|
||||
|
||||
(define (accum-cpu-time! t)
|
||||
|
|
|
@ -129,7 +129,8 @@
|
|||
;; Return result in a thunk:
|
||||
(lambda () #f)])]
|
||||
[(and (all-asynchronous? s)
|
||||
(not (syncing-selected s)))
|
||||
(not (syncing-selected s))
|
||||
(not (syncing-need-retry? s)))
|
||||
(suspend-syncing-thread s timeout-at)
|
||||
(set-syncing-wakeup! s void)
|
||||
(loop #f #t)]
|
||||
|
|
Loading…
Reference in New Issue
Block a user