diff options
| author | Andy Wingo <wingo@pobox.com> | 2016-09-20 02:13:07 +0200 |
|---|---|---|
| committer | Andy Wingo <wingo@pobox.com> | 2016-09-20 02:13:07 +0200 |
| commit | 5a2106c65b9b3dacf6d92a434036a76ebafe1efb (patch) | |
| tree | d84ca9b478eb9a643600ab3ab4997bde4d5a3c7c /fibers.scm | |
| parent | Update TODO.md (diff) | |
| download | guile-fibers-5a2106c65b9b3dacf6d92a434036a76ebafe1efb.tar.gz | |
Add support for ,spawn-fiber
Diffstat (limited to 'fibers.scm')
| -rw-r--r-- | fibers.scm | 21 |
1 files changed, 11 insertions, 10 deletions
@@ -53,16 +53,17 @@ (install-suspendable-ports? #t) (keep-scheduler? (eq? scheduler (current-scheduler)))) (when install-suspendable-ports? (install-suspendable-ports!)) - (parameterize ((current-scheduler scheduler) - (current-read-waiter wait-for-readable) - (current-write-waiter wait-for-writable)) - (call-with-values - (lambda () - (run-scheduler scheduler - #:join-fiber (and init (spawn-fiber init scheduler)))) - (lambda vals - (unless keep-scheduler? (destroy-scheduler scheduler)) - (apply values vals))))) + (with-scheduler + scheduler + (parameterize ((current-read-waiter wait-for-readable) + (current-write-waiter wait-for-writable)) + (call-with-values + (lambda () + (run-scheduler scheduler + #:join-fiber (and init (spawn-fiber init scheduler)))) + (lambda vals + (unless keep-scheduler? (destroy-scheduler scheduler)) + (apply values vals)))))) (define (require-current-scheduler) (or (current-scheduler) |
