LINUX.ORG.RU

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

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

Погодите, но ведь проблема в одном и том же мутексе у обоих енкодеров!?

Верно. Но тебе обеим потокам главное выйти из режима ожидания. А кто из энкодеров захватить мютекс – пофигу. Когда они закончат работу, у выставят переменные encode0_done и encode1_done в 1 и просигналят декодеру.

Это все лишь в теории. Проверь, прокатит ли такой трюк на практике. Мне самому лень проверять, тоже сейчас сам вожусь с подобными ребусами блокировок.

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

Погодите, но ведь проблема в одном и том же мутексе у обоих енкодеров!?

Верно. Но тебе обеим потокам главное выйти из режима ожидания. А кто из энкодеров захватить мютекс – пофигу. Когда они закончат работу, у выставят переменные encode0_done и encode1_done в 1 и просигналят декодеру.

Это все лишь в теории. Проверь, прокатит ли такой трюк на практике. Мне самому лень проверять, тоже сейчас вожусь с подобными ребусами блокировок.