По поводу msgrcv в андроид-ядре?

Я запускал набор тестов для тестирования функциональности, связанной с IPC, в ядре Android. во время тестирования системного вызова msgrcv функция возврата не реализована.

Так верно ли, что системный вызов msgrcv() не реализован в ядре Android, если да, то почему и какой системный вызов в ядре Android служит цели системного вызова msgrcv().

Я получил соответствующее заявление, в котором говорится, что IPC System V (включая очереди сообщений) не реализованы в Bionic. но не уверен, что это значит.

Обновление: я могу найти определение msgrcv в ядре Android, но не уверен, почему функция возврата не реализована.

Ниже фрагмент кода:

SYSCALL_DEFINE5(msgrcv, int, msqid, struct msgbuf __user *, msgp, size_t, msgsz,
                long, msgtyp, int, msgflg)
{
        return do_msgrcv(msqid, msgp, msgsz, msgtyp, msgflg, do_msg_fill);
}

Пожалуйста, прокомментируйте, если информация кажется неполной или расплывчатой, помощь приветствуется.

1 ответ

Решение

IPC System V может быть доступен в ядре, но интерфейсы системных вызовов не реализованы в Bionic lib C. Например, /bionic/libc/arch-arm/syscalls/ содержит все реализации системных вызовов относительно ARM.

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