Как bluez использует epoll_create1 в двух разных процессах?

Я использую bluez mainloop_init (который внутренне использует epoll_create1) и mainloop_run(который внутренне использует epoll_wait) в трех разных процессах, скажем, N1, N2 и N3. Когда я пытаюсь подключиться от N1 к N3 (это означает, что N3 будет получать и событие EPOLLIN), он иногда принимается N2, а иногда и N1. Я попытался напечатать epoll_fd для всех трех процессов, и все они одинаковы (конечно, они будут из другой таблицы процессов). Но если они из другой таблицы процессов, почему событие для N3 переходит в N2? Это какая-то специфическая для bluez обработка на уровне ядра или что-то еще, что мне не хватает?

0 ответов

Другие вопросы по тегам