Правильна ли эта подпись взаимодействия p/invoke для функции libc poll()?C#

Место общения программистов C#
Ответить
Anonymous
 Правильна ли эта подпись взаимодействия p/invoke для функции libc poll()?

Сообщение Anonymous »

Это правильная сигнатура взаимодействия для вызова функции poll() в libc? Я использую dotnet8 в Ubuntu 18.04 на платформе Arm64.

Код: Выделить всё

        [StructLayout(LayoutKind.Sequential)]
public struct PollFDStruct
{
public IntPtr fd;         // File descriptor to poll
public short events;   // Requested events to watch
public short revents;  // Returned events
}

[DllImport("libc", SetLastError = true, CallingConvention = CallingConvention.Cdecl)]
public static extern int poll([In, Out] PollFDStruct[] fds, ulong nfds, int timeout);
Когда я вызываю опрос с помощью дескриптора сокета SocketCAN, время ожидания всегда истекает. revents всегда равен 0.
У кого-нибудь есть подсказки?

Подробнее здесь: https://stackoverflow.com/questions/789 ... l-function
Ответить

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

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

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

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

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