UMAD_POLL(3)
β¨ UMAD_POLL(3) β¨
okay so bestie, welcome to the OpenIB Programmer's Manual π this one's called umad_poll and it's literally just about waiting for packets like a patient little icon. let's go π¦
πΈ NAME πΈ
umad_poll β poll umad. that's it, that's the whole vibe π
π SYNOPSIS π
#include <infiniband/umad.h>
int umad_poll(int portid, int timeout_ms);
π DESCRIPTION π
so umad_poll() sits there and waits up to timeout_ms milliseconds for a packet to be received from the port specified by portid. the way it just... chills there waiting? main character energy fr fr π«Ά
once a packet is ready to be read, the function returns 0. and after that? you can read the packet using umad_recv(). slay β¨
otherwise, you get -ETIMEDOUT back. sad but fair π
β οΈ okay this is important so listen up: successfully polling a port does not guarantee that the subsequentumad_recv()will be non blocking when several threads are using the same port. like, don't count on it bestie, that's not how it works π instead, use atimeout_msparameter of zero toumad_recv()to ensure a non-blocking read. periodt π
π₯ RETURN VALUE π₯
umad_poll() returns 0 on success, and a negative value on error as follows:
-EINVALβ invalid port handle or agentid. not a real one, bestie π-ETIMEDOUTβ poll operation timed out. you waited, it didn't come, it's giving ghosting π»-EIOβ poll operation failed. it's giving chaos π
π SEE ALSO π
π AUTHOR π
Hal Rosenstock <halr@voltaire.com> β an actual legend, no cap π«‘
and that's the whole page, bestie!! go forth and poll responsibly πβ¨π¦πΈππ
this was brought to you by the OpenIB crew, from the October 23, 2007 era β yes she's vintage and yes she still eats πβ¨
π¦ where this page comes from
- alpine 3.24: rdma-core-doc 61.0-r0 Β· GPL-2.0-only OR BSD-2-Clause
- arch rolling: rdma-core 65.0-1 Β· GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-MIT AND GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-FreeBSD AND GPL-2.0-or-later OR LicenseRef-Intel-BSD-3-Clause AND GPL-2.0-or-later OR LicenseRef-PathScale-BSD-Patent-License AND CC0-1.0 AND MIT AND BSD-2-Clause AND CPL-1.0 OR BSD-2-Clause OR GPL-2.0-or-later
- centos-stream 10: rdma-core-devel 62.0-3.el10 Β· GPLv2 or BSD
- centos-stream 9: rdma-core-devel 61.0-3.el9 Β· GPLv2 or BSD
- centos-stream 9: rdma-core-devel 61.0-3.el9 Β· GPLv2 or BSD
- debian bookworm: libibumad-dev 44.0-2 Β· BSD-MIT OR GPL-2.0-only
- debian trixie: libibumad-dev 56.1-1 Β· BSD-MIT OR GPL-2.0-only
- fedora 43: rdma-core-devel 58.0-4.fc43 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 43: rdma-core-devel 58.0-4.fc43 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: rdma-core-devel 61.0-2.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: rdma-core-devel 61.0-2.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: rdma-core-devel 61.1^20260812git975bdaf-1.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: rdma-core-devel 61.1^20260812git975bdaf-1.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- nixos 26.05: rdma-core 62.0
- nixpkgs unstable: rdma-core 65.0
- opensuse-leap 16.0: rdma-core-devel 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: rdma-core-devel 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: rdma-core-devel 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: rdma-core-devel 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- ubuntu jammy: libibumad-dev 39.0-1 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: libibumad-dev 50.0-2build2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: libibumad-dev 50.0-2ubuntu0.2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu questing: libibumad-dev 56.1-1ubuntu1
- ubuntu resolute: libibumad-dev 61.0-2ubuntu3 Β· BSD-MIT OR GPL-2.0-only
- ubuntu stonking: libibumad-dev 64.0-1ubuntu1 Β· BSD-MIT OR GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms