summaryrefslogtreecommitdiff
path: root/server/src/session.cc
diff options
context:
space:
mode:
authorBent Bisballe Nyeng <deva@aasimon.org>2012-01-26 12:08:39 +0100
committerBent Bisballe Nyeng <deva@aasimon.org>2012-01-26 12:08:39 +0100
commit4edae3f518353bb21a02fcda2dfcff83c5a72fc3 (patch)
tree7902e2b6af1dabdb5c49b906b8592874bfce407d /server/src/session.cc
parente9ff9842e9a8c178f5e17c0cf5dde16db1a0d8fc (diff)
New onCommit scripting system.
Diffstat (limited to 'server/src/session.cc')
-rw-r--r--server/src/session.cc13
1 files changed, 11 insertions, 2 deletions
diff --git a/server/src/session.cc b/server/src/session.cc
index fcd138a..234f004 100644
--- a/server/src/session.cc
+++ b/server/src/session.cc
@@ -121,12 +121,21 @@ void Session::setIdle(bool idle)
}
}
-void Session::commit()
+void Session::commit() throw(LUAScript::Exception, Journal::Exception)
{
DEBUG(session, "[%p] commit(sessionid: '%s')\n", this, sessionid.c_str());
if(_journal != NULL) {
- _journal->commit();
+ try {
+ _journal->runOnCommitScripts();
+ } catch(LUAScript::Exception &e) {
+ throw e;
+ }
+ try {
+ _journal->commit();
+ } catch(Journal::Exception &e) {
+ throw e;
+ }
delete _journal;
_journal = NULL;
}