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
f7f5045f
Commit
f7f5045f
authored
Jan 13, 2011
by
Quanah Gibson-Mount
Browse files
ITS#6783
parent
d929dc60
Changes
2
Hide whitespace changes
Inline
Side-by-side
CHANGES
View file @
f7f5045f
...
...
@@ -74,6 +74,7 @@ OpenLDAP 2.4.24 Engineering
Fixed slapd-meta with SASL/EXTERNAL (ITS#6642)
Fixed slapd-meta matchedDN return code (ITS#6774)
Fixed slapd-monitor hasSubordinates generation (ITS#6712)
Fixed slapd-monitor abandon processing (ITS#6783)
Fixed slapd-sql with null objectClass (ITS#6616)
Fixed slapd-sql hasSubordinates generation (ITS#6712)
Fixed slapo-accesslog with controls (ITS#6652)
...
...
servers/slapd/back-monitor/search.c
View file @
f7f5045f
...
...
@@ -60,7 +60,7 @@ monitor_send_children(
if
(
e
==
NULL
)
{
return
LDAP_SUCCESS
;
}
/* volatile entries */
}
else
{
/* if no persistent, return only volatile */
...
...
@@ -87,47 +87,41 @@ monitor_send_children(
for
(
monitor_cache_lock
(
e
);
e
!=
NULL
;
)
{
monitor_entry_update
(
op
,
rs
,
e
);
if
(
op
->
o_abandon
)
{
/* FIXME: may leak generated children */
if
(
nonvolatile
==
0
)
{
for
(
e_tmp
=
e
;
e_tmp
!=
NULL
;
)
{
mp
=
(
monitor_entry_t
*
)
e_tmp
->
e_private
;
e
=
e_tmp
;
e_tmp
=
mp
->
mp_next
;
monitor_cache_release
(
mi
,
e
);
if
(
e_tmp
==
e_nonvolatile
)
{
break
;
}
}
if
(
e
==
e_nonvolatile
)
nonvolatile
=
1
;
}
else
{
monitor_cache_release
(
mi
,
e
);
}
mp
=
(
monitor_entry_t
*
)
e
->
e_private
;
e_tmp
=
mp
->
mp_next
;
return
SLAPD_ABANDON
;
if
(
op
->
o_abandon
)
{
monitor_cache_release
(
mi
,
e
);
rc
=
SLAPD_ABANDON
;
goto
freeout
;
}
rc
=
test_filter
(
op
,
e
,
op
->
oq_search
.
rs_filter
);
if
(
rc
==
LDAP_COMPARE_TRUE
)
{
rs
->
sr_entry
=
e
;
rs
->
sr_flags
=
0
;
rc
=
send_search_entry
(
op
,
rs
);
rs
->
sr_entry
=
NULL
;
if
(
rc
)
{
monitor_cache_release
(
mi
,
e
);
goto
freeout
;
}
}
mp
=
(
monitor_entry_t
*
)
e
->
e_private
;
e_tmp
=
mp
->
mp_next
;
if
(
sub
)
{
rc
=
monitor_send_children
(
op
,
rs
,
e
,
sub
);
if
(
rc
)
{
freeout:
/* FIXME: may leak generated children */
if
(
nonvolatile
==
0
)
{
for
(
;
e_tmp
!=
NULL
;
)
{
mp
=
(
monitor_entry_t
*
)
e_tmp
->
e_private
;
e
=
e_tmp
;
e_tmp
=
mp
->
mp_next
;
monitor_cache_lock
(
e
);
monitor_cache_release
(
mi
,
e
);
if
(
e_tmp
==
e_nonvolatile
)
{
...
...
@@ -150,9 +144,6 @@ monitor_send_children(
}
e
=
e_tmp
;
if
(
e
==
e_nonvolatile
)
{
nonvolatile
=
1
;
}
}
return
LDAP_SUCCESS
;
...
...
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