Как получить кратные сообщения от ядра, используя generi c netlink и libnl? - PullRequest
0 голосов
/ 01 августа 2020

У меня есть код ядра, который использует generi c netlink для отправки сообщений в пространство пользователя и в основном выполняет следующие функции (я помещаю его в псевдокод, чтобы сосредоточиться на важной части):

send_message_to_user_space(msg1);
send_message_to_user_space(msg2);
send_message_to_user_space(msg3);

На стороне пользователя я использую libnl для получения своих сообщений, в частности, для этого я использую функцию nl_recvmsgs_default. И документация этой функции:

Получение набора сообщений из сокета netlink с использованием обработчиков в nl_sock

Хотя, если я использую nl_recvmsgs_default только один раз, Я получаю только свое первое сообщение, чтобы получить три сообщения, я позвонил ему трижды. Почему я не получаю «набор» сообщений, как написано в документации по функциям? Правильный способ получить эти три сообщения - это использовать nl_recvmsgs_default три раза?

...