make-gsource
make-gsink
allocate-buffer-bytes)
- (import (gtk thread)
+ (import (gtk main)
maybe-yield-gtk)
(export (gtk)
open-input-gfile
(import (gtk gobject)
run-gc-cleanups)
(import (gtk main)
- run-gtk
- yield-gtk)
+ run-gtk)
(import (runtime primitive-io)
select-registry-handle))
(define-integrable (run-gtk select-registry-handle time)
(C-call "run_gtk" select-registry-handle time))
-(define-integrable (yield-gtk)
- (C-call "yield_gtk"))
+(define (maybe-yield-gtk)
+ ;; Used by callbacks that may have made threads runnable.
+ (if (other-running-threads?)
+ (C-call "yield_gtk")))
(define (stop-gtk)
;; Sortof does the opposite of gtk-start.
(%trace ";no-thread-nor-timers: wake up for no reason at "t"\n")
t))
-(define (maybe-yield-gtk)
- ;; Used by callbacks that may have made threads runnable.
- (%trace ";maybe-yield-gtk "(thread/next (current-thread)))
- (if (thread/next (current-thread))
- (yield-gtk)))
-
(define (exit-gtk-thread)
(let ((thread gtk-thread))
(set! gtk-thread #f)