Changeset 301
- Timestamp:
- 02/15/07 17:56:41 (4 years ago)
- File:
-
- 1 edited
-
eaccelerator/trunk/mm.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
eaccelerator/trunk/mm.c
r300 r301 188 188 #define MM_SEM_CAN_ATTACH 189 189 190 #define EA_DEBUG_SPINLOCK191 #define EA_SPINLOCK_TIMEOUT 2192 193 190 typedef struct mm_mutex { 194 191 volatile unsigned int lock; 195 192 volatile pid_t pid; 196 193 volatile int locked; 197 #ifdef EA_DEBUG_SPINLOCK198 time_t timestamp;199 #endif200 194 } mm_mutex; 201 195 … … 208 202 lock->pid = -1; 209 203 lock->locked = 0; 210 #ifdef EA_DEBUG_SPINLOCK211 lock->timestamp = 0;212 #endif213 204 return 1; 214 205 } … … 216 207 static int mm_do_lock(mm_mutex* lock, int kind) 217 208 { 218 #ifdef EA_DEBUG_SPINLOCK219 lock->timestamp = time(0);220 #endif221 209 while (1) { 222 210 spinlock_try_lock(lock); … … 226 214 return 1; 227 215 } 228 #ifdef EA_DEBUG_SPINLOCK229 else {230 if (lock->timestamp >= time(0) + EA_SPINLOCK_TIMEOUT) {231 ea_debug_error("Lock time-out, exiting\n");232 return 0;233 }234 }235 #endif236 216 _spinlock_unlock(lock); 237 217 }
Note: See TracChangeset
for help on using the changeset viewer.