Forked from
openldap / OpenLDAP
13625 commits behind the upstream repository.
-
Luke Howard authored
SLAPI always assigning connection and operation IDs of zero for internal operations, such operations would cause a stale contextCSN to be returned from slap_get_commit_csn(). As a result, SLAPI internal updates would be invisible to replicas until an external update was made. Also, SLAPI internal operations never called slap_graduate_commit_csn() which leaked pending CSNs. Also included in this patch is a general cleanup of some of the SLAPI code. Note that we need to use a separate mutex on conn_nextid to avoid a deadlock where a post-operation plugin tries to acquire connections_mutex, having locked the per-connection mutex, while the listener thread tries to acquire the per-connection mutex (having locked connections_mutex). connection.c needs to be fixed to acquire mutexes in the same order.
Luke Howard authoredSLAPI always assigning connection and operation IDs of zero for internal operations, such operations would cause a stale contextCSN to be returned from slap_get_commit_csn(). As a result, SLAPI internal updates would be invisible to replicas until an external update was made. Also, SLAPI internal operations never called slap_graduate_commit_csn() which leaked pending CSNs. Also included in this patch is a general cleanup of some of the SLAPI code. Note that we need to use a separate mutex on conn_nextid to avoid a deadlock where a post-operation plugin tries to acquire connections_mutex, having locked the per-connection mutex, while the listener thread tries to acquire the per-connection mutex (having locked connections_mutex). connection.c needs to be fixed to acquire mutexes in the same order.
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
connection.c 45.02 KiB