Я столкнулся с ошибкой сегментации в системном вызове 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()?
Ниже решения работает отлично,
wait_time(int wait_time)
{
poll(NULL, 0, wait_time);
}
NULL
в качестве первого аргумента? Кроме того, существуют другие способы приостановки процесса на определенное время, которые в большей степени ориентированы на сон, такие как, например,nanosleep
.NULL
вместо&fds
?