Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Joe Martin
OpenLDAP
Commits
24bebf36
Commit
24bebf36
authored
Jan 09, 2013
by
Howard Chu
Committed by
Quanah Gibson-Mount
Jan 28, 2013
Browse files
ITS#6164 avoid conn->c_mutex in send_ldap_ber
parent
c6a97c39
Changes
1
Hide whitespace changes
Inline
Side-by-side
servers/slapd/result.c
View file @
24bebf36
...
...
@@ -320,23 +320,7 @@ static long send_ldap_ber(
while
(
1
)
{
int
err
;
/* lock the connection */
if
(
ldap_pvt_thread_mutex_trylock
(
&
conn
->
c_mutex
))
{
if
(
!
connection_valid
(
conn
))
{
ret
=
0
;
break
;
}
ldap_pvt_thread_mutex_unlock
(
&
conn
->
c_write1_mutex
);
ldap_pvt_thread_mutex_lock
(
&
conn
->
c_write1_mutex
);
if
(
conn
->
c_writers
<
0
)
{
ret
=
0
;
break
;
}
continue
;
}
if
(
ber_flush2
(
conn
->
c_sb
,
ber
,
LBER_FLUSH_FREE_NEVER
)
==
0
)
{
ldap_pvt_thread_mutex_unlock
(
&
conn
->
c_mutex
);
ret
=
bytes
;
break
;
}
...
...
@@ -356,6 +340,7 @@ static long send_ldap_ber(
conn
->
c_writers
--
;
conn
->
c_writing
=
0
;
ldap_pvt_thread_mutex_unlock
(
&
conn
->
c_write1_mutex
);
ldap_pvt_thread_mutex_lock
(
&
conn
->
c_mutex
);
connection_closing
(
conn
,
"connection lost on write"
);
ldap_pvt_thread_mutex_unlock
(
&
conn
->
c_mutex
);
...
...
@@ -368,7 +353,6 @@ static long send_ldap_ber(
slapd_set_write
(
conn
->
c_sd
,
2
);
ldap_pvt_thread_mutex_unlock
(
&
conn
->
c_write1_mutex
);
ldap_pvt_thread_mutex_unlock
(
&
conn
->
c_mutex
);
ldap_pvt_thread_pool_idle
(
&
connection_pool
);
ldap_pvt_thread_cond_wait
(
&
conn
->
c_write2_cv
,
&
conn
->
c_write2_mutex
);
conn
->
c_writewaiter
=
0
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a 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