sco.cc

Go to the documentation of this file.
00001 /*
00002  * @(#)x86.uslc
00003  *
00004  * UnixWare has threads in libthread, but OpenServer doesn't (yet).
00005  *
00006  * For cc/x86, 0 is clear, 1 is set.
00007  */
00008 
00009 #if defined(__USLC__)
00010 asm int
00011 _tsl_set(void *tsl)
00012 {
00013 %mem tsl
00014         movl    tsl, %ecx
00015         movl    $1, %eax
00016         lock
00017         xchgb   (%ecx),%al
00018         xorl    $1,%eax
00019 }
00020 #endif
00021 
00022 #define MUTEX_SET(tsl)          _tsl_set(tsl)
00023 #define MUTEX_UNSET(tsl)        (*(tsl) = 0)
00024 #define MUTEX_INIT(tsl)         MUTEX_UNSET(tsl)

Generated on Sun Jun 8 10:56:39 2008 for GNUmifluz by  doxygen 1.5.5