Sort out stuff around `timeout-control'.
1. The contract in the docs was wrong. 2. The docs used `#f' where the code was expecting 'disable, so made it accept both. 3. Don't recommend disabling the timer -- I had a case where the connection was left for more than a day as a result. (Probably because there was a message after the receipt email.)
This commit is contained in:
parent
01dce00271
commit
3dd9001fdd
|
@ -600,7 +600,7 @@
|
|||
(set! timeout (+ (current-inexact-milliseconds) (* 1000 msg)))
|
||||
(case msg
|
||||
[(reset) (timeout-control (get-conf 'session-timeout))]
|
||||
[(disable) (set! timeout #f)]
|
||||
[(disable #f) (set! timeout #f)]
|
||||
[else (error 'timeout-control "bad argument: ~s" msg)])))
|
||||
(current-timeout-control timeout-control)
|
||||
(timeout-control 'reset)
|
||||
|
|
|
@ -235,10 +235,10 @@ code.}
|
|||
the description of the @racket[pre-checker] and
|
||||
@racket[post-checker] values for what can be done with these, and
|
||||
note that the check for valid users is always first. An example for
|
||||
a sophisticated @racket[post:] block is below---it will first
|
||||
disable timeouts for this session, then it will send a email with a
|
||||
submission receipt, with CC to the TA (assuming a single TA), and
|
||||
pop-up a message telling the student about it:
|
||||
a sophisticated @racket[post:] block is below---it will first set a
|
||||
very long timeout for this session, then it will send an email with
|
||||
a submission receipt, with a CC to the TA (assuming a single TA),
|
||||
and pop-up a message telling the student about it:
|
||||
|
||||
@racketblock[
|
||||
(require net/sendmail)
|
||||
|
@ -247,7 +247,7 @@ code.}
|
|||
(format "hw.rkt: ~a ~a"
|
||||
(file-size "hw.rkt")
|
||||
(file-or-directory-modify-seconds "hw.rkt")))
|
||||
(timeout-control 'disable)
|
||||
(timeout-control 300)
|
||||
(log-line "Sending a receipt: ~a" info)
|
||||
(send-mail-message
|
||||
"course-staff@university.edu"
|
||||
|
|
|
@ -190,7 +190,7 @@ Every exception or result mismatch during the call to
|
|||
and flush it. (The log port will prefix all lines with a time stamp
|
||||
and a connection identifier.)}
|
||||
|
||||
@defproc[(timeout-control [msg string?]) void?]{
|
||||
@defproc[(timeout-control [msg any?]) void?]{
|
||||
|
||||
Controls the timeout for this session. The timeout is initialized
|
||||
by the value of the @racket[session-timeout] configuration entry,
|
||||
|
@ -198,8 +198,8 @@ Every exception or result mismatch during the call to
|
|||
@racket[msg] is @racket['reset] the timeout is reset to
|
||||
@racket[session-timeout] seconds; if @racket[msg] is a number the
|
||||
timeout will be set to that many seconds in the future. The timeout
|
||||
can be completely disabled by @racket[(timeout-control #f)]. (Note
|
||||
that before the checker is used (after the pre-checker, if
|
||||
can be completely disabled using @racket['disable] or @racket[#f].
|
||||
(Note that before the checker is used (after the pre-checker, if
|
||||
specified), the timer will be reset to the @racket['session-timeout]
|
||||
value.)}
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user