ITS#8576 Revert "LDAP_TAILQ fix"

This reverts commit 8ee8248328.
This commit is contained in:
Howard Chu 2017-02-01 11:10:31 +00:00
parent 48ec8223da
commit 451a9623f3
3 changed files with 9 additions and 15 deletions

View file

@ -384,26 +384,20 @@ struct { \
#define LDAP_TAILQ_FOREACH(var, head, field) \
for (var = LDAP_TAILQ_FIRST(head); var; var = LDAP_TAILQ_NEXT(var, field))
#define LDAP_TAILQ_FOREACH_REVERSE(var, head, type, field) \
for ((var) = LDAP_TAILQ_LAST((head), type, field); \
#define LDAP_TAILQ_FOREACH_REVERSE(var, head, headname, field) \
for ((var) = LDAP_TAILQ_LAST((head), headname); \
(var); \
(var) = LDAP_TAILQ_PREV((var), head, type, field))
(var) = LDAP_TAILQ_PREV((var), headname, field))
#define LDAP_TAILQ_FIRST(head) ((head)->tqh_first)
#define LDAP_TAILQ_LAST(head, type, field) \
(LDAP_TAILQ_EMPTY(head) ? \
NULL : \
((struct type *) \
((char *)((head)->tqh_last) - offsetof(struct type, field))))
#define LDAP_TAILQ_LAST(head, headname) \
(*(((struct headname *)((head)->tqh_last))->tqh_last))
#define LDAP_TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
#define LDAP_TAILQ_PREV(elm, head, type, field) \
((struct type *)((elm)->field.tqe_prev) == LDAP_TAILQ_FIRST(head) ? \
NULL : \
((struct type *) \
((char *)((elm)->field.tqe_prev) - offsetof(struct type, field))))
#define LDAP_TAILQ_PREV(elm, headname, field) \
(*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
#define LDAP_TAILQ_INIT(head) do { \
(head)->tqh_first = NULL; \

View file

@ -926,7 +926,7 @@ retry_lock:
if ( lc != NULL ) {
if ( lc != LDAP_TAILQ_LAST( &li->li_conn_priv[ LDAP_BACK_CONN2PRIV( lc ) ].lic_priv,
ldapconn_t, lc_q ) )
lc_conn_priv_q ) )
{
LDAP_TAILQ_REMOVE( &li->li_conn_priv[ LDAP_BACK_CONN2PRIV( lc ) ].lic_priv,
lc, lc_q );

View file

@ -1157,7 +1157,7 @@ retry_lock:;
if ( mc != NULL ) {
/* move to tail of queue */
if ( mc != LDAP_TAILQ_LAST( &mi->mi_conn_priv[ LDAP_BACK_CONN2PRIV( mc ) ].mic_priv,
metaconn_t, mc_q ) )
mc_conn_priv_q ) )
{
LDAP_TAILQ_REMOVE( &mi->mi_conn_priv[ LDAP_BACK_CONN2PRIV( mc ) ].mic_priv,
mc, mc_q );