Опрос ядра системного вызова poll () с ошибкой сегментации в Linux

0

Я столкнулся с ошибкой сегментации в системном вызове poll() и ядром дампа для кода ниже

wait_time(int wait_time)
 {
   struct pollfd fds;

   poll(&fds, 0, wait_time);

 }

От других функций

void xyz()
{
    int a=0;
    if (a==2) {
          wait_time(3);
          a=0;
     }
     a++;
     //something else i am doing
 }

main()
{
      while(1)
      {
          xyz();
      } 

}

Как я могу решить системный вызов core dump on()?

  • 0
    Если вы просто хотите использовать функцию в качестве функции сна, то почему бы просто не передать NULL в качестве первого аргумента? Кроме того, существуют другие способы приостановки процесса на определенное время, которые в большей степени ориентированы на сон, такие как, например, nanosleep .
  • 0
    Вы пробовали передать NULL вместо &fds ?
Показать ещё 6 комментариев
Теги:

1 ответ

0

Ниже решения работает отлично,

wait_time(int wait_time)
{
    poll(NULL, 0, wait_time);
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню