История изменений
Исправление 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);