Dolda2000 GitWeb
/
jsvc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of git.dolda2000.com:/srv/git/r/jsvc
[jsvc.git]
/
src
/
dolda
/
jsvc
/
util
/
PerSession.java
diff --git
a/src/dolda/jsvc/util/PerSession.java
b/src/dolda/jsvc/util/PerSession.java
index
1cbc0d7
..
562e2c9
100644
(file)
--- a/
src/dolda/jsvc/util/PerSession.java
+++ b/
src/dolda/jsvc/util/PerSession.java
@@
-88,11
+88,19
@@
public class PerSession implements Responder {
public void respond(Request req) {
Session sess = Session.get(req);
Responder resp;
public void respond(Request req) {
Session sess = Session.get(req);
Responder resp;
- synchronized(
ses
s) {
+ synchronized(
thi
s) {
resp = (Responder)sess.get(rcl, null);
if(resp == null) {
resp = create(sess);
sess.put(rcl, resp);
resp = (Responder)sess.get(rcl, null);
if(resp == null) {
resp = create(sess);
sess.put(rcl, resp);
+ if(resp instanceof ContextResponder) {
+ final ContextResponder cr = (ContextResponder)resp;
+ sess.listen(new Session.Listener() {
+ public void destroy(Session sess) {
+ cr.destroy();
+ }
+ });
+ }
}
}
resp.respond(req);
}
}
resp.respond(req);