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
daec2feb
Commit
daec2feb
authored
Apr 06, 2006
by
Howard Chu
Browse files
ITS#4476 revert connection_write processing back into main thread
parent
8395383d
Changes
3
Hide whitespace changes
Inline
Side-by-side
servers/slapd/connection.c
View file @
daec2feb
...
...
@@ -2172,37 +2172,6 @@ static int connection_op_activate( Operation *op )
return
rc
;
}
#ifdef SLAP_LIGHTWEIGHT_DISPATCHER
static
int
connection_write
(
ber_socket_t
s
);
static
void
*
connection_write_thread
(
void
*
ctx
,
void
*
arg
)
{
return
(
void
*
)(
long
)
connection_write
((
long
)
arg
);
}
int
connection_write_activate
(
ber_socket_t
s
)
{
int
rc
;
/*
* suspend reading on this file descriptor until a connection processing
* thread write data on it. Otherwise the listener thread will repeatedly
* submit the same event on it to the pool.
*/
slapd_clr_write
(
s
,
0
);
rc
=
ldap_pvt_thread_pool_submit
(
&
connection_pool
,
connection_write_thread
,
(
void
*
)(
long
)
s
);
if
(
rc
!=
0
)
{
Debug
(
LDAP_DEBUG_ANY
,
"connection_write_activate(%d): submit failed (%d)
\n
"
,
(
int
)
s
,
rc
,
0
);
}
return
rc
;
}
static
#endif
int
connection_write
(
ber_socket_t
s
)
{
Connection
*
c
;
...
...
@@ -2210,6 +2179,8 @@ int connection_write(ber_socket_t s)
assert
(
connections
!=
NULL
);
slapd_clr_write
(
s
,
0
);
ldap_pvt_thread_mutex_lock
(
MCA_GET_CONN_MUTEX
(
s
)
);
c
=
connection_get
(
s
);
...
...
@@ -2221,9 +2192,6 @@ int connection_write(ber_socket_t s)
return
-
1
;
}
#ifndef SLAP_LIGHTWEIGHT_DISPATCHER
slapd_clr_write
(
s
,
0
);
#endif
c
->
c_n_write
++
;
Debug
(
LDAP_DEBUG_TRACE
,
...
...
servers/slapd/daemon.c
View file @
daec2feb
...
...
@@ -1979,9 +1979,6 @@ slapd_daemon_task(
"daemon: write active on %d
\n
"
,
wd
,
0
,
0
);
#ifdef SLAP_LIGHTWEIGHT_DISPATCHER
connection_write_activate
(
wd
);
#else
/*
* NOTE: it is possible that the connection was closed
* and that the stream is now inactive.
...
...
@@ -1997,7 +1994,6 @@ slapd_daemon_task(
nrfds
--
;
}
}
#endif
}
for
(
i
=
0
;
nrfds
>
0
;
i
++
)
{
...
...
@@ -2105,9 +2101,6 @@ slapd_daemon_task(
waswrite
=
1
;
#ifdef SLAP_LIGHTWEIGHT_DISPATCHER
connection_write_activate
(
fd
);
#else
/*
* NOTE: it is possible that the connection was closed
* and that the stream is now inactive.
...
...
@@ -2117,7 +2110,6 @@ slapd_daemon_task(
if
(
connection_write
(
fd
)
<
0
)
{
continue
;
}
#endif
}
/* If event is a read or an error */
if
(
SLAP_EVENT_IS_READ
(
i
)
||
!
waswrite
)
{
...
...
servers/slapd/proto-slap.h
View file @
daec2feb
...
...
@@ -647,12 +647,11 @@ LDAP_SLAPD_F (const char *) connection_state2str LDAP_P(( int state ))
LDAP_GCCATTR
((
const
));
#ifdef SLAP_LIGHTWEIGHT_DISPATCHER
LDAP_SLAPD_F
(
int
)
connection_write_activate
LDAP_P
((
ber_socket_t
s
));
LDAP_SLAPD_F
(
int
)
connection_read_activate
LDAP_P
((
ber_socket_t
s
));
#else
LDAP_SLAPD_F
(
int
)
connection_write
LDAP_P
((
ber_socket_t
s
));
LDAP_SLAPD_F
(
int
)
connection_read
LDAP_P
((
ber_socket_t
s
));
#endif
LDAP_SLAPD_F
(
int
)
connection_write
LDAP_P
((
ber_socket_t
s
));
LDAP_SLAPD_F
(
unsigned
long
)
connections_nextid
(
void
);
...
...
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