почему он не читает файл дескриптор async_wait
Почему он не проваливается в чтение файл дескриптора а сразу пишет ОК и завершает выполнение программы.
static void waitGpios(boost::asio::posix::stream_descriptor& desc,
gpiod::line& line)
{
std::cout << "ok\n";
desc.async_wait(boost::asio::posix::stream_descriptor::wait_read,
[&desc, &line](const boost::system::error_code e) {
if (e)
{
std::cerr << e.message();
}
gpiod::line_event line_event = line.event_read();
std::cout << (line_event.event_type ==
gpiod::line_event::RISING_EDGE);
waitGpios(desc, line);
});
}
static int requestGpios(gpiod::line& gpioLine,
boost::asio::posix::stream_descriptor& desc)
{
// request gpios
waitGpios(desc, gpioLine);
return 0;
}
int main()
{
boost::asio::io_service io;
gpiod::line psPwrOkLine;
boost::asio::posix::stream_descriptor psPwrOkDesc(io);
if (requestGpios(psPwrOkLine, psPwrOkDesc) == -1)
return -1;
}