void FUN_000195d0(undefined4 param_1)
{
bool bVar1;
int iVar2;
int iVar3;
timespec local_20;
iVar3 = 0;
while( true ) {
iVar2 = _test_and_set(param_1,1);
bVar1 = iVar3 < 0x32;
iVar3 = iVar3 + 1;
if (iVar2 == 0) break;
if (bVar1) {
sched_yield();
}
else {
local_20.tv_sec = 0;
local_20.tv_nsec = 0x1e8481;
iVar3 = 0;
nanosleep(&local_20,(timespec *)0x0);
}
}
return;
}