Properly lock new separate database accesses

ThreadPoolClientBranch
Justin Clarke Casey 2008-01-21 15:12:00 +00:00
parent 504ae63669
commit 7ca8e28a9a
2 changed files with 118 additions and 112 deletions

View File

@ -1203,6 +1203,8 @@ namespace OpenSim.Framework.Data.MySQL
MainLog.Instance.Verbose("DATASTORE", "Entered StorePrimInventory with prim ID {0}", primID); MainLog.Instance.Verbose("DATASTORE", "Entered StorePrimInventory with prim ID {0}", primID);
lock (m_dataSet)
{
// Find all existing inventory rows for this prim // Find all existing inventory rows for this prim
DataTable dbItems = m_itemsTable; DataTable dbItems = m_itemsTable;
@ -1215,10 +1217,10 @@ namespace OpenSim.Framework.Data.MySQL
foreach (DataRow row in dbItemRows) foreach (DataRow row in dbItemRows)
{ {
// MainLog.Instance.Verbose( // MainLog.Instance.Verbose(
// "DATASTORE", // "DATASTORE",
// "Found item {0}, {1} in prim id {2}", // "Found item {0}, {1} in prim id {2}",
// row["name"], row["itemID"], primID); // row["name"], row["itemID"], primID);
dbItemsToRemove.Add((String)row["itemID"], row); dbItemsToRemove.Add((String)row["itemID"], row);
} }
@ -1233,10 +1235,10 @@ namespace OpenSim.Framework.Data.MySQL
if (dbItemsToRemove.ContainsKey(rawItemId)) if (dbItemsToRemove.ContainsKey(rawItemId))
{ {
// MainLog.Instance.Verbose( // MainLog.Instance.Verbose(
// "DATASTORE", // "DATASTORE",
// "Discarding item {0}, {1} from remove candidates for prim id {2}", // "Discarding item {0}, {1} from remove candidates for prim id {2}",
// items[itemId].Name, rawItemId, primID); // items[itemId].Name, rawItemId, primID);
dbItemsToRemove.Remove(rawItemId); dbItemsToRemove.Remove(rawItemId);
} }
@ -1271,6 +1273,7 @@ namespace OpenSim.Framework.Data.MySQL
dbItems.Rows.Add(newItemRow); dbItems.Rows.Add(newItemRow);
} }
} }
}
/*********************************************************************** /***********************************************************************
* *

View File

@ -1258,6 +1258,8 @@ namespace OpenSim.Framework.Data.SQLite
MainLog.Instance.Verbose("DATASTORE", "Entered StorePrimInventory with prim ID {0}", primID); MainLog.Instance.Verbose("DATASTORE", "Entered StorePrimInventory with prim ID {0}", primID);
lock (ds)
{
// Find all existing inventory rows for this prim // Find all existing inventory rows for this prim
DataTable dbItems = ds.Tables["primitems"]; DataTable dbItems = ds.Tables["primitems"];
@ -1317,6 +1319,7 @@ namespace OpenSim.Framework.Data.SQLite
dbItems.Rows.Add(newItemRow); dbItems.Rows.Add(newItemRow);
} }
} }
}
/*********************************************************************** /***********************************************************************
* *