|
|
@@ -21,6 +21,7 @@ |
|
|
|
#include "JackMetadata.h" |
|
|
|
|
|
|
|
#include "JackClient.h" |
|
|
|
#include "JackTools.h" |
|
|
|
|
|
|
|
#include <string.h> |
|
|
|
#include <sys/stat.h> |
|
|
@@ -68,20 +69,20 @@ JackMetadata::~JackMetadata() |
|
|
|
if (fIsEngine) |
|
|
|
{ |
|
|
|
// cleanup after libdb, nasty! |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db/metadata.db", fDBFilesDir); |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db-%d/metadata.db", fDBFilesDir, JackTools::GetUID()); |
|
|
|
remove (dbpath); |
|
|
|
|
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db/__db.001", fDBFilesDir); |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db-%d/__db.001", fDBFilesDir, JackTools::GetUID()); |
|
|
|
remove (dbpath); |
|
|
|
|
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db/__db.002", fDBFilesDir); |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db-%d/__db.002", fDBFilesDir, JackTools::GetUID()); |
|
|
|
remove (dbpath); |
|
|
|
|
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db/__db.003", fDBFilesDir); |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db-%d/__db.003", fDBFilesDir, JackTools::GetUID()); |
|
|
|
remove (dbpath); |
|
|
|
|
|
|
|
// remove our custom dir |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db", fDBFilesDir); |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db-%d", fDBFilesDir, JackTools::GetUID()); |
|
|
|
rmdir (dbpath); |
|
|
|
} |
|
|
|
#endif |
|
|
@@ -115,7 +116,7 @@ int JackMetadata::PropertyInit() |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db", fDBFilesDir); |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db-%d", fDBFilesDir, JackTools::GetUID()); |
|
|
|
#ifdef WIN32 |
|
|
|
mkdir (dbpath); |
|
|
|
#else |
|
|
@@ -129,16 +130,16 @@ int JackMetadata::PropertyInit() |
|
|
|
jack_error ("Failed to open previous DB environment, trying again clean..."); |
|
|
|
|
|
|
|
// cleanup old stuff |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db/metadata.db", fDBFilesDir); |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db-%d/metadata.db", fDBFilesDir, JackTools::GetUID()); |
|
|
|
remove (dbpath); |
|
|
|
|
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db/__db.001", fDBFilesDir); |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db-%d/__db.001", fDBFilesDir, JackTools::GetUID()); |
|
|
|
remove (dbpath); |
|
|
|
|
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db/__db.002", fDBFilesDir); |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db-%d/__db.002", fDBFilesDir, JackTools::GetUID()); |
|
|
|
remove (dbpath); |
|
|
|
|
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db/__db.003", fDBFilesDir); |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db-%d/__db.003", fDBFilesDir, JackTools::GetUID()); |
|
|
|
remove (dbpath); |
|
|
|
|
|
|
|
// try again fresh |
|
|
@@ -160,7 +161,7 @@ int JackMetadata::PropertyInit() |
|
|
|
return -1; |
|
|
|
} |
|
|
|
|
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db/metadata.db", fDBFilesDir); |
|
|
|
snprintf (dbpath, sizeof(dbpath), "%s/jack_db-%d/metadata.db", fDBFilesDir, JackTools::GetUID()); |
|
|
|
if ((ret = fDB->open (fDB, NULL, dbpath, NULL, DB_HASH, DB_CREATE | DB_THREAD, 0666)) != 0) { |
|
|
|
jack_error ("Cannot open metadata DB at %s: %s", dbpath, db_strerror (ret)); |
|
|
|
fDB->close (fDB, 0); |
|
|
|