FD был неожиданно закрытAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 FD был неожиданно закрыт

Сообщение Anonymous »

Среда: Android16 с ядром 6.6
Существует служба Android, запускающая такой поток:
void *poll_thread(void *data)
{
int fd, ret;
struct pollfd fds = {0};

fd = open(PROCFS_PATH, O_RDONLY);
if (fd < 0)
return NULL;

fds.fd = fd;
fds.events = POLLIN;

while (1) {

ALOGI("polling...\n");

ret = poll(&fds, 1, -1);
if (ret < 0)
goto out;

ALOGI("revents:0x%x\n", fds.revents);

if (fds.revents & POLLIN)
do_sth();
}

out:
close(fd);
return NULL;
}

PROCFS_PATH создается драйвером ядра.
Поначалу он работает хорошо. Но это становится странным после приостановки работы системы. Это журнал ядра:
[ 11.753542] [01-01 00:00:10.753] node open. //printed by kernel driver

//...

[ 35.249622] [01-18 15:27:42.249] PM: suspend entry (s2idle)
[ 35.345921] [01-18 15:27:42.345] Freezing user space processes

[ 35.349896] [01-18 15:27:42.349] node release. //

Подробнее здесь: https://stackoverflow.com/questions/798 ... expectedly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»