Правильна ли эта подпись взаимодействия 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

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