Commit df3fe33f authored by paul Luse's avatar paul Luse Committed by Tomasz Zawadzki
Browse files

thread.h: document expected poller return values.



Code isn't alway consistent (for legacy reasons) so lets at
least document what we expect moving forward.

Signed-off-by: default avatarpaul Luse <paul.e.luse@intel.com>
Change-Id: Iba9e383ae89ec9f850dcacca45c3bf8410c3b28b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/8582


Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
parent d4789360
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -45,6 +45,10 @@
extern "C" {
#endif

/**
 * Pollers should always return a value of this type
 * indicating whether they did real work or not.
 */
enum spdk_thread_poller_rc {
	SPDK_POLLER_IDLE,
	SPDK_POLLER_BUSY,
@@ -117,9 +121,8 @@ typedef void (*spdk_thread_pass_msg)(spdk_msg_fn fn, void *ctx,
 * Callback function for a poller.
 *
 * \param ctx Context passed as arg to spdk_poller_register().
 * \return 0 to indicate that polling took place but no events were found;
 * positive to indicate that polling took place and some events were processed;
 * negative if the poller does not provide spin-wait information.
 * \return value of type `enum spdk_thread_poller_rc` (ex: SPDK_POLLER_IDLE
 * if no work was done or SPDK_POLLER_BUSY if work was done.)
 */
typedef int (*spdk_poller_fn)(void *ctx);

@@ -561,7 +564,9 @@ struct spdk_poller *spdk_poller_register_named(spdk_poller_fn fn,

/*
 * \brief Register a poller on the current thread with setting its name
 * to the string of the poller function name.
 * to the string of the poller function name. The poller being registered
 * should return a value of type `enum spdk_thread_poller_rc`. See
 * \ref spdk_poller_fn for more information.
 */
#define SPDK_POLLER_REGISTER(fn, arg, period_microseconds)	\
	spdk_poller_register_named(fn, arg, period_microseconds, #fn)