From a5a93dcba35e79bfa247d54991a59f389203507e Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 18 Jun 2012 16:20:04 +0200 Subject: Add argument to session ctor that indicates whether to make it current --- odb/session.cxx | 11 +++++++---- odb/session.hxx | 8 ++++---- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/odb/session.cxx b/odb/session.cxx index 71c8817..3ca6af4 100644 --- a/odb/session.cxx +++ b/odb/session.cxx @@ -14,12 +14,15 @@ namespace odb static ODB_TLS_POINTER (session) current_session; session:: - session () + session (bool make_current) { - if (has_current ()) - throw already_in_session (); + if (make_current) + { + if (has_current ()) + throw already_in_session (); - current (*this); + current (*this); + } } session:: diff --git a/odb/session.hxx b/odb/session.hxx index 1541fde..cfeebce 100644 --- a/odb/session.hxx +++ b/odb/session.hxx @@ -25,11 +25,11 @@ namespace odb public: typedef odb::database database_type; - // Set the current thread's session to this session. If another - // session is already in effect, throw the already_in_session - // exception. + // If the make_current argument is true, then set the current thread's + // session to this session. If another session is already in effect, + // throw the already_in_session exception. // - session (); + session (bool make_current = true); // Reset the current thread's session if it is this session. // -- cgit v1.1