umad_poll — poll umad

Synopsis

#include <infiniband/umad.h>

int umad_poll(int portid, int timeout_ms);

Description

umad_poll() waits up to timeout_ms milliseconds for a packet to be received from the port specified by portid. Once a packet is ready to be read, the function returns 0. After that the packet can be read using umad_recv(). Otherwise, -ETIMEDOUT is returned. Note that successfully polling a port does not guarantee that the subsequent umad_recv() will be non blocking when several threads are using the same port. Instead, use a timeout_ms parameter of zero to umad_recv() to ensure a non-blocking read.

Return Value

umad_poll() returns 0 on success, and a negative value on error as follows:
-EINVAL    invalid port handle or agentid
-ETIMEDOUT poll operation timed out
-EIO       poll operation failed

See Also

umad_recv(3)

Author

Hal Rosenstock <halr@voltaire.com>

Referenced By

umad_recv(3).

October 23, 2007 OpenIB Programmer´s Manual