Propagate dispatcher signal
svn: r12683
This commit is contained in:
parent
f11b46828c
commit
da2fd6489d
|
@ -66,6 +66,7 @@
|
||||||
(define response
|
(define response
|
||||||
(with-handlers ([exn:fail:filesystem:exists?
|
(with-handlers ([exn:fail:filesystem:exists?
|
||||||
(lambda (the-exn) (next-dispatcher))]
|
(lambda (the-exn) (next-dispatcher))]
|
||||||
|
[exn:dispatcher? raise]
|
||||||
[(lambda (x) #t)
|
[(lambda (x) #t)
|
||||||
(lambda (the-exn) (responders-servlet-loading uri the-exn))])
|
(lambda (the-exn) (responders-servlet-loading uri the-exn))])
|
||||||
(define the-servlet (url->servlet uri))
|
(define the-servlet (url->servlet uri))
|
||||||
|
@ -73,7 +74,8 @@
|
||||||
[current-custodian (servlet-custodian the-servlet)]
|
[current-custodian (servlet-custodian the-servlet)]
|
||||||
[current-directory (servlet-directory the-servlet)]
|
[current-directory (servlet-directory the-servlet)]
|
||||||
[current-namespace (servlet-namespace the-servlet)])
|
[current-namespace (servlet-namespace the-servlet)])
|
||||||
(with-handlers ([(lambda (x) #t)
|
(with-handlers ([exn:dispatcher? raise]
|
||||||
|
[(lambda (x) #t)
|
||||||
(lambda (exn) (responders-servlet uri exn))])
|
(lambda (exn) (responders-servlet uri exn))])
|
||||||
(call-with-continuation-barrier
|
(call-with-continuation-barrier
|
||||||
(lambda ()
|
(lambda ()
|
||||||
|
|
|
@ -368,7 +368,7 @@ a URL that refreshes the password file, servlet cache, etc.}
|
||||||
dispatcher/c]{
|
dispatcher/c]{
|
||||||
This dispatcher runs Scheme servlets, using @scheme[url->servlet] to resolve URLs to the underlying servlets.
|
This dispatcher runs Scheme servlets, using @scheme[url->servlet] to resolve URLs to the underlying servlets.
|
||||||
If servlets have errors loading, then @scheme[responders-servlet-loading] is used. Other errors are handled with
|
If servlets have errors loading, then @scheme[responders-servlet-loading] is used. Other errors are handled with
|
||||||
@scheme[responders-servlet].
|
@scheme[responders-servlet]. If a servlet raises calls @scheme[next-dispatcher], then the signal is propagated by this dispatcher.
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user