Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Tero Saarni
OpenLDAP
Commits
7af81733
Commit
7af81733
authored
Mar 09, 2009
by
Quanah Gibson-Mount
Browse files
ITS#6001
parent
a56a2b7f
Changes
3
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
7af81733
...
...
@@ -8,6 +8,7 @@ OpenLDAP 2.4.16 Engineering
Fixed libldap peer cert double free (ITS#5849)
Fixed libldap referral chasing (ITS#5980)
Fixed slapd backglue with empty DBs (ITS#5986)
Fixed slapd ctxcsn race condition (ITS#6001)
Fixed slapd syncrepl newCookie sync messages (ITS#5972)
Fixed slapd syncrepl multiple CSN propagation (ITS#5973)
Fixed slapd-bdb/hdb cachesize handling (ITS#5860)
...
...
servers/slapd/ctxcsn.c
View file @
7af81733
...
...
@@ -40,6 +40,7 @@ slap_get_commit_csn(
{
struct
slap_csn_entry
*
csne
,
*
committed_csne
=
NULL
;
BackendDB
*
be
=
op
->
o_bd
->
bd_self
;
int
sid
=
-
1
;
if
(
maxcsn
)
{
assert
(
maxcsn
->
bv_val
!=
NULL
);
...
...
@@ -51,6 +52,10 @@ slap_get_commit_csn(
ldap_pvt_thread_mutex_lock
(
&
be
->
be_pcl_mutex
);
if
(
!
BER_BVISEMPTY
(
&
op
->
o_csn
))
{
sid
=
slap_parse_csn_sid
(
&
op
->
o_csn
);
}
LDAP_TAILQ_FOREACH
(
csne
,
be
->
be_pending_csn_list
,
ce_csn_link
)
{
if
(
csne
->
ce_opid
==
op
->
o_opid
&&
csne
->
ce_connid
==
op
->
o_connid
)
{
csne
->
ce_state
=
SLAP_CSN_COMMIT
;
...
...
@@ -60,8 +65,10 @@ slap_get_commit_csn(
}
LDAP_TAILQ_FOREACH
(
csne
,
be
->
be_pending_csn_list
,
ce_csn_link
)
{
if
(
csne
->
ce_state
==
SLAP_CSN_COMMIT
)
committed_csne
=
csne
;
if
(
csne
->
ce_state
==
SLAP_CSN_PENDING
)
break
;
if
(
sid
!=
-
1
&&
sid
==
csne
->
ce_sid
)
{
if
(
csne
->
ce_state
==
SLAP_CSN_COMMIT
)
committed_csne
=
csne
;
if
(
csne
->
ce_state
==
SLAP_CSN_PENDING
)
break
;
}
}
if
(
maxcsn
)
{
...
...
@@ -185,6 +192,7 @@ slap_queue_csn(
ber_dupbv
(
&
pending
->
ce_csn
,
csn
);
ber_bvreplace_x
(
&
op
->
o_csn
,
&
pending
->
ce_csn
,
op
->
o_tmpmemctx
);
pending
->
ce_sid
=
slap_parse_csn_sid
(
csn
);
pending
->
ce_connid
=
op
->
o_connid
;
pending
->
ce_opid
=
op
->
o_opid
;
pending
->
ce_state
=
SLAP_CSN_PENDING
;
...
...
servers/slapd/slap.h
View file @
7af81733
...
...
@@ -2371,6 +2371,7 @@ typedef struct PagedResultsState {
struct
slap_csn_entry
{
struct
berval
ce_csn
;
int
ce_sid
;
unsigned
long
ce_opid
;
unsigned
long
ce_connid
;
#define SLAP_CSN_PENDING 1
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment