Browse Source

cmThread.c: Changed OSAtomicCompareAndSwap32Barrier() to OSAtomicCompareAndSwap64Barrier()

as part of port to spat-lab Mac.
master
kevin 10 years ago
parent
commit
caa4b558aa
1 changed files with 7 additions and 3 deletions
  1. 7
    3
      cmThread.c

+ 7
- 3
cmThread.c View File

1293
 bool     cmThPtrCAS(   void*    addr, void*    old, void*    neww )
1293
 bool     cmThPtrCAS(   void*    addr, void*    old, void*    neww )
1294
 {
1294
 {
1295
 #ifdef OS_OSX
1295
 #ifdef OS_OSX
1296
+  
1296
   // REMOVE THIS HACK AND USE OSAtomicCompareAndSwapPtrBarrier() WHEN
1297
   // REMOVE THIS HACK AND USE OSAtomicCompareAndSwapPtrBarrier() WHEN
1297
   // A 64 BIT BUILD IS POSSIBLE ON OS-X.
1298
   // A 64 BIT BUILD IS POSSIBLE ON OS-X.
1299
+ 
1298
   typedef struct 
1300
   typedef struct 
1299
   {
1301
   {
1300
     union 
1302
     union 
1301
     {
1303
     {
1302
       void* addr;
1304
       void* addr;
1303
-      int   val;
1305
+      int64_t   val;
1304
     } u;
1306
     } u;
1305
   } s_t;
1307
   } s_t;
1306
 
1308
 
1309
   ov.u.addr = old;
1311
   ov.u.addr = old;
1310
   nv.u.addr = neww;
1312
   nv.u.addr = neww;
1311
 
1313
 
1312
-  int rv = OSAtomicCompareAndSwap32Barrier(ov.u.val,nv.u.val,(int*)addr);
1314
+  int rv = OSAtomicCompareAndSwap64Barrier(ov.u.val,nv.u.val,(int64_t*)addr);
1315
+  
1313
   //int rv = OSAtomicCompareAndSwapPtrBarrier(old,neww,&addr);
1316
   //int rv = OSAtomicCompareAndSwapPtrBarrier(old,neww,&addr);
1314
   return rv;
1317
   return rv;
1315
 #endif
1318
 #endif
1616
     
1619
     
1617
   }while(!cmThPtrCAS(&p->olp,old_hp,new_hp));
1620
   }while(!cmThPtrCAS(&p->olp,old_hp,new_hp));
1618
 
1621
 
1622
+  //printf("%p %p %i\n",p->ilp,p->olp,p->olp->mn);
1623
+
1619
   return rc;
1624
   return rc;
1620
 }
1625
 }
1621
 
1626
 
1662
     // return the size of the new msg
1667
     // return the size of the new msg
1663
     return p->olp->mn;
1668
     return p->olp->mn;
1664
   }
1669
   }
1665
-
1666
   return 0;
1670
   return 0;
1667
 }
1671
 }
1668
 
1672
 

Loading…
Cancel
Save