place-specific low-level "sleep" function

to make racket/gui work right with places (running
 in just one of them) on Mac OS X

original commit: 5a5800d51316c98827e47544deec658b8456fb03
This commit is contained in:
Matthew Flatt 2011-06-17 17:02:20 -06:00
parent da5518081d
commit e3d995ee87

View File

@ -387,6 +387,7 @@
(define-mz scheme_end_sleeper_thread (_fun -> _void))
(define-mz scheme_sleep _pointer)
(define-mz scheme_set_place_sleep (_fun _pointer -> _void))
;; Called through an atomic callback:
(define (sleep-until-event secs fds)
@ -399,6 +400,5 @@
(define (cocoa-install-event-wakeup)
(post-dummy-event) ; why do we need this? 'nextEventMatchingMask:' seems to hang if we don't use it
(set-ffi-obj! 'scheme_sleep #f _pointer (function-ptr sleep-until-event
(_fun #:atomic? #t
_float _gcpointer -> _void))))
(scheme_set_place_sleep (function-ptr sleep-until-event
(_fun #:atomic? #t _float _gcpointer -> _void))))