Kaydet (Commit) 295759c0 authored tarafından Andrzej J.R. Hunt's avatar Andrzej J.R. Hunt Kaydeden (comit) Tor Lillqvist

Set FIREBIRD_TMP and FIREBIRD_LOCK with sane values. (firebird-sdbc)

Currently firebird uses /tmp and C://temp/ as default temporary directories,
both of which can be incorrect. Instead we now pass the correct temp
directories to firebird.

Change-Id: I807a47475e76600365e7a2ccfa78d755621dedb7
Reviewed-on: https://gerrit.libreoffice.org/5678Reviewed-by: 's avatarTor Lillqvist <tml@iki.fi>
Tested-by: 's avatarTor Lillqvist <tml@iki.fi>
üst 52d35df0
......@@ -26,6 +26,8 @@
#include "resource/sharedresources.hxx"
#include <comphelper/processfactory.hxx>
#include <osl/process.h>
#include <osl/file.hxx>
using namespace com::sun::star;
using namespace com::sun::star::uno;
......@@ -52,9 +54,21 @@ namespace connectivity
}
}
// Static const member variables
const OUString FirebirdDriver::our_sFirebirdTmpVar("FIREBIRD_TMP");
const OUString FirebirdDriver::our_sFirebirdLockVar("FIREBIRD_LOCK");
FirebirdDriver::FirebirdDriver()
: ODriver_BASE(m_aMutex)
{
OUString sTmpDir;
::osl::FileBase::getTempDirURL(sTmpDir);
// Overrides firebird's default of /tmp or c:\temp
osl_setEnvironment(our_sFirebirdTmpVar.pData, sTmpDir.pData);
// Overrides firebird's default of /tmp/firebird or c:\temp\firebird
sTmpDir += "/firebird";
osl_setEnvironment(our_sFirebirdLockVar.pData, sTmpDir.pData);
}
void FirebirdDriver::disposing()
......@@ -70,6 +84,9 @@ void FirebirdDriver::disposing()
}
m_xConnections.clear();
osl_clearEnvironment(our_sFirebirdTmpVar.pData);
osl_clearEnvironment(our_sFirebirdLockVar.pData);
ODriver_BASE::disposing();
}
......
......@@ -44,6 +44,10 @@ namespace connectivity
class FirebirdDriver : public ODriver_BASE
{
private:
static const ::rtl::OUString our_sFirebirdTmpVar;
static const ::rtl::OUString our_sFirebirdLockVar;
protected:
::osl::Mutex m_aMutex; // mutex is need to control member access
OWeakRefArray m_xConnections; // vector containing a list
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment