В.С. Белоус
,
В.А. Крищенко
,
Н.Ю. Рязанова
4
Рис. 4.
Пример программы, искусственно создающей
тупиковую ситуацию
Рис. 5.
Фрагмент дампа, полученного в программе strace
Функция futex() при блокировке, в качестве одного из параметров
принимает FUTEX_WAIT_PRIVATE, а при освобождении —
FUTEX_WAKE_PRIVATE. В результате анализа данных параметров
можно однозначно определить, какое действие будет выполнено —
блокировка или освобождение. Перехват функции futex() позволяет