gcc 4.4.2 c89Заблокировать до окончания мероприятия
У меня есть функция, которая должна выполняться (config_relays). Он выполняет вызов функции API, называемой set_relay, тогда код должен ждать, прежде чем продолжить, пока событие для события set_relay не будет завершено. Set_relay - это любой вызов Async.
т.е.
void run_processes()
{
switch()
{
case EV_RELAY_SET:
break;
}
}
void config_relays()
{
set_relay();
/* Wait until EV_RELAY_SET has fired */
/* Cannot do init_relay until set_relay event has fired - has to block here */
init_relay();
}
Я предполагаю, что может поставить init_relay() в коммутаторе. Однако это событие используется для других целей, а не только для инициализации реле. Мне бы очень хотелось обработать все в функции config_relays.
В C# вы можете сделать это, используя авторешетку. У C есть что-то подобное.
Большое спасибо за любые советы,
Я компиляция на Redhat. Так будет использовать pthreads. Вариант 2, я думал о опросе в цикле while и имел условие (глобальную переменную) в событии и тестирование, если это условие истинно. 1) Меня интересует вариант 1. – ant2009
Хорошо, опрос неплохо, очень плохо. Никогда не создавайте систему со схемой опроса/сна. Это может стать узким местом ... – Ernelli