version 0.1.1
[fms.git] / zthread-gcc4.patch
diff --git a/zthread-gcc4.patch b/zthread-gcc4.patch
new file mode 100644 (file)
index 0000000..9c3ecf6
--- /dev/null
@@ -0,0 +1,96 @@
+diff -ru ZThread-2.3.2-old/include/zthread/Guard.h ZThread-2.3.2/include/zthread/Guard.h
+--- ZThread-2.3.2-old/include/zthread/Guard.h  2005-03-12 21:10:09.000000000 -0500
++++ ZThread-2.3.2/include/zthread/Guard.h      2006-09-10 14:10:08.000000000 -0400
+@@ -491,7 +491,7 @@
+     
+   try {
+     
+-    if(!isDisabled())
++    if(!LockHolder<LockType>::isDisabled())
+       LockingPolicy::destroyScope(*this);
+     
+   } catch (...) { /* ignore */ }  
+diff -ru ZThread-2.3.2-old/src/MutexImpl.h ZThread-2.3.2/src/MutexImpl.h
+--- ZThread-2.3.2-old/src/MutexImpl.h  2005-03-12 22:59:15.000000000 -0500
++++ ZThread-2.3.2/src/MutexImpl.h      2006-09-10 14:13:31.000000000 -0400
+@@ -153,7 +153,7 @@
+       _owner = self;
+-      ownerAcquired(self);
++      Behavior::ownerAcquired(self);
+       
+     }
+@@ -164,7 +164,7 @@
+       _waiters.insert(self);
+       m.acquire();
+-      waiterArrived(self);
++      Behavior::waiterArrived(self);
+       {        
+       
+@@ -173,7 +173,7 @@
+       
+       }
+-      waiterDeparted(self);
++      Behavior::waiterDeparted(self);
+       m.release();
+         
+@@ -192,7 +192,7 @@
+           assert(_owner == 0);
+           _owner = self;    
+-          ownerAcquired(self);
++          Behavior::ownerAcquired(self);
+           break;
+         
+@@ -236,7 +236,7 @@
+       _owner = self;
+-      ownerAcquired(self);
++      Behavior::ownerAcquired(self);
+       
+     }
+@@ -253,7 +253,7 @@
+       
+         m.acquire();
+-        waiterArrived(self);
++        Behavior::waiterArrived(self);
+       
+         {
+         
+@@ -262,7 +262,7 @@
+         
+         }
+-        waiterDeparted(self);
++        Behavior::waiterDeparted(self);
+       
+         m.release();
+         
+@@ -284,7 +284,7 @@
+           assert(0 == _owner);
+           _owner = self;
+-          ownerAcquired(self);
++          Behavior::ownerAcquired(self);
+         
+           break;
+         
+@@ -326,7 +326,7 @@
+     _owner = 0;
+-    ownerReleased(impl);
++    Behavior::ownerReleased(impl);
+   
+     // Try to find a waiter with a backoff & retry scheme
+     for(;;) {