Commit 82abe8c2 authored by Jacek Kalwas's avatar Jacek Kalwas Committed by Jim Harris
Browse files

queue: add SLIST_FOREACH_SAFE



Additionally added a header and odd tab before SLIST_* macro name
which is used for other macros in this file.

Change-Id: I5f31d96cd7d4123d90eadf16c5e32d428aeeba1a
Signed-off-by: default avatarJacek Kalwas <jacek.kalwas@intel.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22041


Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
parent 99265411
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -258,12 +258,20 @@ struct { \
		swap_tmp->field.le_prev = &LIST_FIRST((head2));		\
} while (0)

/*
 * Singly-linked List functions.
 */
#define	SLIST_SWAP(head1, head2, type) do {			\
	struct type *swap_tmp = SLIST_FIRST((head1));			\
	SLIST_FIRST((head1)) = SLIST_FIRST((head2));			\
	SLIST_FIRST((head2)) = swap_tmp;				\
} while (0)

#define	SLIST_FOREACH_SAFE(var, head, field, tvar)		\
	for ((var) = SLIST_FIRST((head));				\
	    (var) && ((tvar) = SLIST_NEXT((var), field), 1);		\
	    (var) = (tvar))

/*
 * Tail queue functions.
 */