2015-04-19 5 views
0

На mac Я использую kqueue, он утверждает, что удата не изменяется. Однако массив вернулся в event_data из kevent звонок в настоящее время модифицировано несколько. Что может быть причиной этого? Я передаю указатель на строку, отлитую от void *, и когда я прочитал после kevent после первых трех символов, остальные будут изменены.Изменение поля Kqueue udata

Благодаря

ответ

1

Ядро только сохраняет и возвращает значение указателя сам, а не содержимое памяти, она указывает. Скорее всего, вы передаете указатель на память, которая будет перезаписана позже.

Системный вызов kqueue64() немного более подробно об этом, определяя поле как uint64_t.

+0

Спасибо за это! Я буду возиться с ним немного больше :) – Noitidart

Смежные вопросы