summaryrefslogtreecommitdiff
path: root/server/src/session.cc
diff options
context:
space:
mode:
Diffstat (limited to 'server/src/session.cc')
-rw-r--r--server/src/session.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/server/src/session.cc b/server/src/session.cc
index e236416..8071d45 100644
--- a/server/src/session.cc
+++ b/server/src/session.cc
@@ -152,10 +152,17 @@ void Session::discard()
{
DEBUG(session, "[%p] discard(sessionid: '%s')\n", this, sessionid.c_str());
+ // Store session file in discarded folder before deleting.
+ if(isreadonly == false && Conf::session_discard_path != "") {
+ SessionSerialiser ser(env, Conf::session_discard_path);
+ ser.save(this);
+ }
+
if(_journal) {
delete _journal;
_journal = NULL;
}
+
if(isreadonly == false) {
AutoBorrower<Database*> borrower(env->dbpool);
Database *db = borrower.get();