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
Nadezhda Ivanova
OpenLDAP
Commits
f3e9bc60
Commit
f3e9bc60
authored
Aug 13, 1998
by
Kurt Zeilenga
Browse files
integrated changed from rage.net glibc.patch
parent
14b7b66f
Changes
13
Hide whitespace changes
Inline
Side-by-side
clients/ud/main.c
View file @
f3e9bc60
...
...
@@ -33,7 +33,8 @@
#include
<termios.h>
#endif
/* defined( NeXT ) || defined( ultrix ) etc. */
#endif
/* !DOS */
#if defined( aix ) || defined( __NetBSD__ )
#if defined( aix ) || defined( __NetBSD__ ) \
|| defined( __FreeBSD__ ) || defined( linux )
#include
<sys/ioctl.h>
#endif
/* aix || __NetBSD__ */
#include
<ctype.h>
...
...
include/lthread.h
View file @
f3e9bc60
...
...
@@ -160,6 +160,18 @@ typedef cond_t pthread_cond_t;
#define pthread_attr_setdetachstate( a, b ) \
pthread_attr_setdetach_np( a, b )
#else
/* end dce pthreads */
#if defined( POSIX_THREADS )
#define _THREAD
#include
<pthread.h>
#define pthread_mutexattr_default NULL
#define pthread_condattr_default NULL
#endif
/* posix threads */
#endif
/* dce pthreads */
#endif
/* mit pthreads */
#endif
/* sunos5 */
...
...
include/portable.h
View file @
f3e9bc60
...
...
@@ -120,7 +120,7 @@
* Are sys_errlist and sys_nerr declared in stdio.h?
*/
#ifndef SYSERRLIST_IN_STDIO
#if defined( freebsd ) || defined(
linux
)
#if defined( freebsd ) || defined(
__GLIBC__ ) && ( __GLIBC__ > 1
)
#define SYSERRLIST_IN_STDIO
#endif
#endif
...
...
libraries/liblthread/thread.c
View file @
f3e9bc60
...
...
@@ -483,6 +483,16 @@ pthread_kill( pthread_t tid, int sig )
kill
(
getpid
(),
sig
);
}
#else
#if defined ( POSIX_THREADS )
void
p_thread_yield
(
void
)
{
sched_yield
();
}
#endif
/* posix threads */
#endif
/* dce pthreads */
#endif
/* mit pthreads */
#endif
/* sunos5 lwp */
...
...
servers/slapd/charray.c
View file @
f3e9bc60
...
...
@@ -107,12 +107,15 @@ charray_dup( char **a )
}
char
**
str2charray
(
char
*
str
,
char
*
brkstr
)
str2charray
(
char
*
str
_in
,
char
*
brkstr
)
{
char
**
res
;
char
*
s
;
int
i
;
/* protect the input string from strtok */
char
*
str
=
strdup
(
str_in
);
i
=
1
;
for
(
s
=
str
;
*
s
;
s
++
)
{
if
(
strchr
(
brkstr
,
*
s
)
!=
NULL
)
{
...
...
@@ -128,5 +131,6 @@ str2charray( char *str, char *brkstr )
}
res
[
i
]
=
NULL
;
free
(
str
);
return
(
res
);
}
servers/slapd/connection.c
View file @
f3e9bc60
...
...
@@ -203,7 +203,7 @@ connection_activity(
pthread_attr_init
(
&
attr
);
pthread_attr_setdetachstate
(
&
attr
,
PTHREAD_CREATE_DETACHED
);
if
(
pthread_create
(
&
arg
->
co_op
->
o_tid
,
attr
,
if
(
pthread_create
(
&
arg
->
co_op
->
o_tid
,
&
attr
,
(
void
*
)
connection_operation
,
(
void
*
)
arg
)
!=
0
)
{
Debug
(
LDAP_DEBUG_ANY
,
"pthread_create failed
\n
"
,
0
,
0
,
0
);
}
else
{
...
...
servers/slapd/daemon.c
View file @
f3e9bc60
...
...
@@ -139,8 +139,16 @@ daemon(
}
(
void
)
SIGNAL
(
SIGPIPE
,
SIG_IGN
);
#ifdef SIGSTKFLT
(
void
)
SIGNAL
(
SIGSTKFLT
,
(
void
*
)
do_nothing
);
#else
(
void
)
SIGNAL
(
SIGUSR1
,
(
void
*
)
do_nothing
);
#endif
#ifdef SIGSTKFLT
(
void
)
SIGNAL
(
SIGUNUSED
,
(
void
*
)
set_shutdown
);
#else
(
void
)
SIGNAL
(
SIGUSR2
,
(
void
*
)
set_shutdown
);
#endif
(
void
)
SIGNAL
(
SIGTERM
,
(
void
*
)
set_shutdown
);
(
void
)
SIGNAL
(
SIGINT
,
(
void
*
)
set_shutdown
);
(
void
)
SIGNAL
(
SIGHUP
,
(
void
*
)
set_shutdown
);
...
...
@@ -365,8 +373,16 @@ set_shutdown()
{
Debug
(
LDAP_DEBUG_ANY
,
"slapd got shutdown signal
\n
"
,
0
,
0
,
0
);
slapd_shutdown
=
1
;
#ifdef SIGSTKFLT
pthread_kill
(
listener_tid
,
SIGSTKFLT
);
#else
pthread_kill
(
listener_tid
,
SIGUSR1
);
#endif
#ifdef SIGUNUSED
(
void
)
SIGNAL
(
SIGUNUSED
,
(
void
*
)
set_shutdown
);
#else
(
void
)
SIGNAL
(
SIGUSR2
,
(
void
*
)
set_shutdown
);
#endif
(
void
)
SIGNAL
(
SIGTERM
,
(
void
*
)
set_shutdown
);
(
void
)
SIGNAL
(
SIGINT
,
(
void
*
)
set_shutdown
);
(
void
)
SIGNAL
(
SIGHUP
,
(
void
*
)
set_shutdown
);
...
...
@@ -375,6 +391,10 @@ set_shutdown()
static
void
do_nothing
()
{
Debug
(
LDAP_DEBUG_TRACE
,
"slapd got SIGUSR1
\n
"
,
0
,
0
,
0
);
Debug
(
LDAP_DEBUG_TRACE
,
"slapd got do_nothing signal
\n
"
,
0
,
0
,
0
);
#ifdef SIGSTKFLT
(
void
)
SIGNAL
(
SIGSTKFLT
,
(
void
*
)
do_nothing
);
#else
(
void
)
SIGNAL
(
SIGUSR1
,
(
void
*
)
do_nothing
);
#endif
}
servers/slapd/main.c
View file @
f3e9bc60
...
...
@@ -10,7 +10,7 @@
#include
"slap.h"
#include
"ldapconfig.h"
extern
void
daemon
();
extern
void
slapd_
daemon
();
extern
int
lber_debug
;
extern
char
Versionstr
[];
...
...
@@ -184,7 +184,7 @@ main( argc, argv )
pthread_attr_init
(
&
attr
);
pthread_attr_setdetachstate
(
&
attr
,
PTHREAD_CREATE_DETACHED
);
if
(
pthread_create
(
&
listener_tid
,
attr
,
(
void
*
)
daemon
,
if
(
pthread_create
(
&
listener_tid
,
&
attr
,
(
void
*
)
slapd_
daemon
,
(
void
*
)
port
)
!=
0
)
{
Debug
(
LDAP_DEBUG_ANY
,
"listener pthread_create failed
\n
"
,
0
,
0
,
0
);
...
...
servers/slapd/result.c
View file @
f3e9bc60
...
...
@@ -121,7 +121,11 @@ send_ldap_result2(
pthread_mutex_lock
(
&
active_threads_mutex
);
active_threads
--
;
conn
->
c_writewaiter
=
1
;
#ifdef SIGSTKFLT
pthread_kill
(
listener_tid
,
SIGSTKFLT
);
#else
pthread_kill
(
listener_tid
,
SIGUSR1
);
#endif
pthread_cond_wait
(
&
conn
->
c_wcv
,
&
active_threads_mutex
);
pthread_mutex_unlock
(
&
active_threads_mutex
);
...
...
servers/slurpd/fm.c
View file @
f3e9bc60
...
...
@@ -77,12 +77,20 @@ fm(
/* Set up our signal handlers:
* SIG{TERM,INT,HUP} causes a shutdown
* SIGUSR1 - does nothing, used to wake up sleeping threads.
* SIGUSR2 - causes slurpd to read its administrative interface file.
* SIG
(STKFLT|
USR1
)
- does nothing, used to wake up sleeping threads.
* SIG
(UNUSED|
USR2
)
- causes slurpd to read its administrative interface file.
* (not yet implemented).
*/
#ifdef SIGSTKFLT
(
void
)
SIGNAL
(
SIGSTKFLT
,
(
void
*
)
do_nothing
);
#else
(
void
)
SIGNAL
(
SIGUSR1
,
(
void
*
)
do_nothing
);
#endif
#ifdef SIGUNUSED
(
void
)
SIGNAL
(
SIGUNUSED
,
(
void
*
)
do_admin
);
#else
(
void
)
SIGNAL
(
SIGUSR2
,
(
void
*
)
do_admin
);
#endif
(
void
)
SIGNAL
(
SIGTERM
,
(
void
*
)
set_shutdown
);
(
void
)
SIGNAL
(
SIGINT
,
(
void
*
)
set_shutdown
);
(
void
)
SIGNAL
(
SIGHUP
,
(
void
*
)
set_shutdown
);
...
...
@@ -160,7 +168,11 @@ set_shutdown()
int
i
;
sglob
->
slurpd_shutdown
=
1
;
/* set flag */
#ifdef SIGSTKFLT
pthread_kill
(
sglob
->
fm_tid
,
SIGSTKFLT
);
/* wake up file mgr */
#else
pthread_kill
(
sglob
->
fm_tid
,
SIGUSR1
);
/* wake up file mgr */
#endif
sglob
->
rq
->
rq_lock
(
sglob
->
rq
);
/* lock queue */
pthread_cond_broadcast
(
&
(
sglob
->
rq
->
rq_more
)
);
/* wake repl threads */
for
(
i
=
0
;
i
<
sglob
->
num_replicas
;
i
++
)
{
...
...
@@ -181,7 +193,11 @@ set_shutdown()
void
do_nothing
()
{
#ifdef SIGSTKFLT
(
void
)
SIGNAL
(
SIGSTKFLT
,
(
void
*
)
do_nothing
);
#else
(
void
)
SIGNAL
(
SIGUSR1
,
(
void
*
)
do_nothing
);
#endif
}
...
...
servers/slurpd/main.c
View file @
f3e9bc60
...
...
@@ -121,7 +121,7 @@ main(
* Start the main file manager thread (in fm.c).
*/
pthread_attr_init
(
&
attr
);
if
(
pthread_create
(
&
(
sglob
->
fm_tid
),
attr
,
(
void
*
)
fm
,
(
void
*
)
NULL
)
if
(
pthread_create
(
&
(
sglob
->
fm_tid
),
&
attr
,
(
void
*
)
fm
,
(
void
*
)
NULL
)
!=
0
)
{
Debug
(
LDAP_DEBUG_ANY
,
"file manager pthread_create failed
\n
"
,
0
,
0
,
0
);
...
...
servers/slurpd/replica.c
View file @
f3e9bc60
...
...
@@ -59,7 +59,7 @@ start_replica_thread(
pthread_attr_init
(
&
attr
);
pthread_attr_setdetachstate
(
&
attr
,
PTHREAD_CREATE_DETACHED
);
if
(
pthread_create
(
&
(
ri
->
ri_tid
),
attr
,
(
void
*
)
replicate
,
if
(
pthread_create
(
&
(
ri
->
ri_tid
),
&
attr
,
(
void
*
)
replicate
,
(
void
*
)
ri
)
!=
0
)
{
Debug
(
LDAP_DEBUG_ANY
,
"replica
\"
%s:%d
\"
pthread_create failed
\n
"
,
ri
->
ri_hostname
,
ri
->
ri_port
,
0
);
...
...
servers/slurpd/ri.c
View file @
f3e9bc60
...
...
@@ -60,7 +60,11 @@ Ri_process(
int
rc
;
char
*
errmsg
;
#ifdef SIGSTKFLT
(
void
)
SIGNAL
(
SIGSTKFLT
,
(
void
*
)
do_nothing
);
#else
(
void
)
SIGNAL
(
SIGUSR1
,
(
void
*
)
do_nothing
);
#endif
(
void
)
SIGNAL
(
SIGPIPE
,
SIG_IGN
);
if
(
ri
==
NULL
)
{
Debug
(
LDAP_DEBUG_ANY
,
"Error: Ri_process: ri == NULL!
\n
"
,
0
,
0
,
0
);
...
...
@@ -146,7 +150,8 @@ Ri_process(
/*
* Wake a replication thread which may be sleeping. Send it a SIGUSR1.
* Wake a replication thread which may be sleeping.
* Send it a SIG(STKFLT|USR1).
*/
static
void
Ri_wake
(
...
...
@@ -156,8 +161,13 @@ Ri_wake(
if
(
ri
==
NULL
)
{
return
;
}
#ifdef SIGSTKFLT
pthread_kill
(
ri
->
ri_tid
,
SIGSTKFLT
);
(
void
)
SIGNAL
(
SIGSTKFLT
,
(
void
*
)
do_nothing
);
#else
pthread_kill
(
ri
->
ri_tid
,
SIGUSR1
);
(
void
)
SIGNAL
(
SIGUSR1
,
(
void
*
)
do_nothing
);
#endif
}
...
...
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