banshee r5193 - in trunk/banshee: . src/Libraries/Hyena/Hyena.Data.Sqlite



Author: gburt
Date: Wed Apr  8 23:50:34 2009
New Revision: 5193
URL: http://svn.gnome.org/viewvc/banshee?rev=5193&view=rev

Log:
2009-04-08  Gabriel Burt  <gabriel burt gmail com>

	* src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs: Remove
	old comment about how to fix the transactions code.

Modified:
   trunk/banshee/ChangeLog
   trunk/banshee/src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs

Modified: trunk/banshee/src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs
==============================================================================
--- trunk/banshee/src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs	(original)
+++ trunk/banshee/src/Libraries/Hyena/Hyena.Data.Sqlite/HyenaSqliteConnection.cs	Wed Apr  8 23:50:34 2009
@@ -238,17 +238,6 @@
 
 #region Public Utility Methods
         
-        // FIXME these are commented out because they can cause deadlock if one thread
-        // starts a transaction, then another one tries to execute command A (which locks A) but
-        // waits for the transaction to finish while holding the lock on A.  If the transaction thread
-        // then tries to execute/lock A, it can't.
-        //
-        // I think the way to fix this is to change all the Query/Execute methods above to not lock
-        // the command themselves, but to let that happen in the QueueCommand method (which can be modified
-        // to either take a param_values array and a HyenaCommandType, or have overrides, etc).  That way
-        // the command locking and values applied only when we know the calling thread is not blocking by a
-        // transaction thread.
-        //
         public void BeginTransaction ()
         {
             if (transaction_thread == Thread.CurrentThread) {



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]