diff options
| author | Andy Wingo <wingo@pobox.com> | 2016-09-08 15:00:00 +0200 |
|---|---|---|
| committer | Andy Wingo <wingo@pobox.com> | 2016-09-08 15:02:09 +0200 |
| commit | 985df09c94f2f47f2efc6ee8ff990424c49838ee (patch) | |
| tree | cbb9550a988cae4435ae675c5117ce96bc646b98 /examples | |
| parent | Enable remote fiber wakeup (diff) | |
| download | guile-fibers-985df09c94f2f47f2efc6ee8ff990424c49838ee.tar.gz | |
Quit the scheduler when there is nothing left to do
* fibers/internal.scm: Detect when there is nothing left to run, and
stop the scheduler in that case.
* examples/ping-client.scm (client-loop):
* examples/memcached-client.scm (client-loop): Remove exit call, as we
will exit when needed.
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/memcached-client.scm | 8 | ||||
| -rw-r--r-- | examples/ping-client.scm | 8 |
2 files changed, 2 insertions, 14 deletions
diff --git a/examples/memcached-client.scm b/examples/memcached-client.scm index 3b6e1ec..d9d0330 100644 --- a/examples/memcached-client.scm +++ b/examples/memcached-client.scm @@ -109,10 +109,7 @@ (connect port (addrinfo:addr addrinfo)) port)) -(define *active-clients* 0) - (define (client-loop addrinfo n num-connections) - (set! *active-clients* (1+ *active-clients*)) (let ((port (connect-to-server addrinfo)) (key (string-append "test-" (number->string n)))) (let lp ((m 0)) @@ -126,10 +123,7 @@ (unless (equal? (item-bv item) v) (server-error port "Bad response: ~A (expected ~A)" (item-bv item) v)) (lp (1+ m)))))) - (close-port port)) - (set! *active-clients* (1- *active-clients*)) - (when (zero? *active-clients*) - (exit 0))) + (close-port port))) (define (run-memcached-test num-clients num-connections) ;; The getaddrinfo call blocks, unfortunately. Call it once before diff --git a/examples/ping-client.scm b/examples/ping-client.scm index 6b8dd79..afbfd0d 100644 --- a/examples/ping-client.scm +++ b/examples/ping-client.scm @@ -38,10 +38,7 @@ (connect port (addrinfo:addr addrinfo)) port)) -(define *active-clients* 0) - (define (client-loop addrinfo n num-connections) - (set! *active-clients* (1+ *active-clients*)) (let ((port (connect-to-server addrinfo)) (test (string-append "test-" (number->string n)))) (let lp ((m 0)) @@ -54,10 +51,7 @@ (close-port port) (error "Bad response: ~A (expected ~A)" response test)) (lp (1+ m))))) - (close-port port)) - (set! *active-clients* (1- *active-clients*)) - (when (zero? *active-clients*) - (exit 0))) + (close-port port))) (define (run-ping-test num-clients num-connections) ;; The getaddrinfo call blocks, unfortunately. Call it once before |
