Mechanizm spinlock i rezygnowanie z procesora

atomic_int i = 0;
spinlock_t lock;

procedure test()
begin
	spin_lock(&lock);
	atomic_inc(&i);
	schedule();
	atomic_dec(&i);
	spin_unlock(&lock);
end;