Procházet zdrojové kódy

Add missing futex wake retry on old kernels

Samuel Thibault před 9 roky
rodič
revize
ba384a331a
1 změnil soubory, kde provedl 3 přidání a 0 odebrání
  1. 3 0
      src/common/thread.c

+ 3 - 0
src/common/thread.c

@@ -830,7 +830,10 @@ int starpu_pthread_spin_unlock(starpu_pthread_spinlock_t *lock)
 	STARPU_SYNCHRONIZE();
 	if (syscall(SYS_futex, &lock->taken, _starpu_futex_wake, 1, NULL, NULL, 0))
 		if (errno == ENOSYS)
+		{
 			_starpu_futex_wake = FUTEX_WAKE;
+			syscall(SYS_futex, &lock->taken, _starpu_futex_wake, 1, NULL, NULL, 0);
+		}
 #else /* !SIMGRID && !LINUX */
 	STARPU_RELEASE(&lock->taken);
 #endif