ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libecb/ecb.h
(Generate patch)

Comparing libecb/ecb.h (file contents):
Revision 1.54 by root, Wed Jul 20 00:38:30 2011 UTC vs.
Revision 1.55 by root, Tue Jul 26 09:59:36 2011 UTC

82#ifndef ECB_MEMORY_FENCE 82#ifndef ECB_MEMORY_FENCE
83 #if ECB_GCC_VERSION(4,4) 83 #if ECB_GCC_VERSION(4,4)
84 #define ECB_MEMORY_FENCE __sync_synchronize () 84 #define ECB_MEMORY_FENCE __sync_synchronize ()
85 #define ECB_MEMORY_FENCE_ACQUIRE ({ char dummy = 0; __sync_lock_test_and_set (&dummy, 1); }) 85 #define ECB_MEMORY_FENCE_ACQUIRE ({ char dummy = 0; __sync_lock_test_and_set (&dummy, 1); })
86 #define ECB_MEMORY_FENCE_RELEASE ({ char dummy = 1; __sync_lock_release (&dummy ); }) 86 #define ECB_MEMORY_FENCE_RELEASE ({ char dummy = 1; __sync_lock_release (&dummy ); })
87 #elif _MSC_VER >= 1400 87 #elif _MSC_VER >= 1400 && 0 /* TODO: only true when using volatiles */
88 #define ECB_MEMORY_FENCE do { } while (0) 88 #define ECB_MEMORY_FENCE do { } while (0)
89 #define ECB_MEMORY_FENCE_ACQUIRE ECB_MEMORY_FENCE 89 #define ECB_MEMORY_FENCE_ACQUIRE ECB_MEMORY_FENCE
90 #define ECB_MEMORY_FENCE_RELEASE ECB_MEMORY_FENCE 90 #define ECB_MEMORY_FENCE_RELEASE ECB_MEMORY_FENCE
91 #elif defined(_WIN32) && defined(MemoryBarrier) 91 #elif defined(_WIN32)
92 #include <WinNT.h>
92 #define ECB_MEMORY_FENCE MemoryBarrier () 93 #define ECB_MEMORY_FENCE MemoryBarrier ()
93 #define ECB_MEMORY_FENCE_ACQUIRE ECB_MEMORY_FENCE 94 #define ECB_MEMORY_FENCE_ACQUIRE ECB_MEMORY_FENCE
94 #define ECB_MEMORY_FENCE_RELEASE ECB_MEMORY_FENCE 95 #define ECB_MEMORY_FENCE_RELEASE ECB_MEMORY_FENCE
95 #endif 96 #endif
96#endif 97#endif

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines