LINUX.ORG.RU

История изменений

Исправление alysnix, (текущая версия) :

Вообще говоря мне казалось glibc’шные mutexes построены напрямую поверх кернеловых Futex. Я что-то упустил?

вот вы заставили меня смотреть исходники глибсовых мьютексов и найти там спинлок. а самому было лень?

          do
	    {
	      if (cnt++ >= max_cnt)
		{
		  LLL_MUTEX_LOCK (mutex);
		  break;
		}
	      atomic_spin_nop ();
	    }
	  while (LLL_MUTEX_TRYLOCK (mutex) != 0);

Исходная версия alysnix, :

Вообще говоря мне казалось glibc’шные mutexes построены напрямую поверх кернеловых Futex. Я что-то упустил?

вот вы заставили меня смотреть исходники глибсовых мьютексов и найти там спинлок. а самому было лень?

 do
	    {
	      if (cnt++ >= max_cnt)
		{
		  LLL_MUTEX_LOCK (mutex);
		  break;
		}
	      atomic_spin_nop ();
	    }
	  while (LLL_MUTEX_TRYLOCK (mutex) != 0);