projects
/
8sync.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
irc: Refactor using (8sync contrib irc) library from Snuik.
[8sync.git]
/
8sync
/
agenda.scm
diff --git
a/8sync/agenda.scm
b/8sync/agenda.scm
index e91487eda3aa52cbef2513eaa57ff91e094e89b1..7a76ebf5837359951d964726380aac86fe1c3df7 100644
(file)
--- a/
8sync/agenda.scm
+++ b/
8sync/agenda.scm
@@
-467,13
+467,19
@@
Also handles sleeping when all we have to do is wait on the schedule."
;; TODO: support usecond wait time too
(match (get-wait-time)
((sec . usec)
;; TODO: support usecond wait time too
(match (get-wait-time)
((sec . usec)
- (catch
'
system-error
+ (catch
#t ; expect: wrong-type-arg (open port),
system-error
(lambda ()
(select (hash-keys (agenda-read-port-map agenda))
(hash-keys (agenda-write-port-map agenda))
'()
sec usec))
(lambda (key . rest-args)
(lambda ()
(select (hash-keys (agenda-read-port-map agenda))
(hash-keys (agenda-write-port-map agenda))
'()
sec usec))
(lambda (key . rest-args)
+ (unless (and (memq key '(system-error wrong-type-arg))
+ (match rest-args
+ (((or "select" "get-u8" "get-bytevector-n" "lookahead-u8"
+ "put-u8" "put-bytevector") arg ...) #t)
+ (_ #f)))
+ (apply throw key rest-args))
(match rest-args
((_ _ _ (EINTR))
'(() () ()))
(match rest-args
((_ _ _ (EINTR))
'(() () ()))