#include <signal.h>
#include <bits/pthreadtypes.h>
#include <bits/initspin.h>
+#ifdef _LIBC
+#include <bits/uClibc_pthread.h>
+#endif
__BEGIN_DECLS
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK
# define UNLOCK
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
static pthread_mutex_t mylock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK
# define UNLOCK
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
static pthread_mutex_t mylock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK
# define UNLOCK
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
extern pthread_mutex_t __resolv_lock;
-# define BIGLOCK pthread_mutex_lock(&__resolv_lock)
-# define BIGUNLOCK pthread_mutex_unlock(&__resolv_lock);
+# define BIGLOCK __pthread_mutex_lock(&__resolv_lock)
+# define BIGUNLOCK __pthread_mutex_unlock(&__resolv_lock);
#else
# define BIGLOCK
# define BIGUNLOCK
#ifdef __UCLIBC_HAS_THREADS__
static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK
# define UNLOCK
#ifdef __UCLIBC_HAS_THREADS__
static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK
# define UNLOCK
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
static pthread_mutex_t createxid_lock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK pthread_mutex_lock(&createxid_lock)
-# define UNLOCK pthread_mutex_unlock(&createxid_lock);
+# define LOCK __pthread_mutex_lock(&createxid_lock)
+# define UNLOCK __pthread_mutex_unlock(&createxid_lock);
#else
# define LOCK
# define UNLOCK
return -1;
}
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_lock(&(dir->dd_lock));
+ __pthread_mutex_lock(&(dir->dd_lock));
#endif
fd = dir->dd_fd;
dir->dd_fd = -1;
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_unlock(&(dir->dd_lock));
+ __pthread_mutex_unlock(&(dir->dd_lock));
#endif
free(dir->dd_buf);
free(dir);
}
ptr->dd_buf = buf;
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_init(&(ptr->dd_lock), NULL);
+ __pthread_mutex_init(&(ptr->dd_lock), NULL);
#endif
return ptr;
}
}
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_lock(&(dir->dd_lock));
+ __pthread_mutex_lock(&(dir->dd_lock));
#endif
do {
all_done:
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_unlock(&(dir->dd_lock));
+ __pthread_mutex_unlock(&(dir->dd_lock));
#endif
return de;
}
}
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_lock(&(dir->dd_lock));
+ __pthread_mutex_lock(&(dir->dd_lock));
#endif
do {
all_done:
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_unlock(&(dir->dd_lock));
+ __pthread_mutex_unlock(&(dir->dd_lock));
#endif
return de;
de = NULL;
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_lock(&(dir->dd_lock));
+ __pthread_mutex_lock(&(dir->dd_lock));
#endif
do {
all_done:
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_unlock(&(dir->dd_lock));
+ __pthread_mutex_unlock(&(dir->dd_lock));
#endif
return((de != NULL)? 0 : ret);
}
de = NULL;
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_lock(&(dir->dd_lock));
+ __pthread_mutex_lock(&(dir->dd_lock));
#endif
do {
all_done:
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_unlock(&(dir->dd_lock));
+ __pthread_mutex_unlock(&(dir->dd_lock));
#endif
return((de != NULL)? 0 : ret);
}
return;
}
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_lock(&(dir->dd_lock));
+ __pthread_mutex_lock(&(dir->dd_lock));
#endif
lseek(dir->dd_fd, 0, SEEK_SET);
dir->dd_nextoff = dir->dd_nextloc = dir->dd_size = 0;
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_unlock(&(dir->dd_lock));
+ __pthread_mutex_unlock(&(dir->dd_lock));
#endif
}
return;
}
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_lock(&(dir->dd_lock));
+ __pthread_mutex_lock(&(dir->dd_lock));
#endif
dir->dd_nextoff = lseek(dir->dd_fd, offset, SEEK_SET);
dir->dd_size = dir->dd_nextloc = 0;
#ifdef __UCLIBC_HAS_THREADS__
- pthread_mutex_unlock(&(dir->dd_lock));
+ __pthread_mutex_unlock(&(dir->dd_lock));
#endif
}
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK
# define UNLOCK
#include <stdlib.h>
extern int __pthread_return_0 __P ((void));
-extern int __pthread_return_1 __P ((void));
extern void __pthread_return_void __P ((void));
-weak_alias (__pthread_return_0, pthread_attr_init)
-weak_alias (__pthread_return_0, pthread_attr_destroy)
-weak_alias (__pthread_return_0, pthread_attr_setdetachstate)
-weak_alias (__pthread_return_0, pthread_attr_getdetachstate)
-weak_alias (__pthread_return_0, pthread_attr_setschedparam)
-weak_alias (__pthread_return_0, pthread_attr_getschedparam)
-weak_alias (__pthread_return_0, pthread_attr_setschedpolicy)
-weak_alias (__pthread_return_0, pthread_attr_getschedpolicy)
-weak_alias (__pthread_return_0, pthread_attr_setinheritsched)
-weak_alias (__pthread_return_0, pthread_attr_getinheritsched)
-weak_alias (__pthread_return_0, pthread_attr_setscope)
-weak_alias (__pthread_return_0, pthread_attr_getscope)
-weak_alias (__pthread_return_0, pthread_attr_setstackaddr)
-weak_alias (__pthread_return_0, pthread_attr_getstackaddr)
-weak_alias (__pthread_return_0, pthread_attr_setstacksize)
-weak_alias (__pthread_return_0, pthread_attr_getstacksize)
-weak_alias (__pthread_return_0, pthread_mutex_init)
-weak_alias (__pthread_return_0, pthread_mutex_destroy)
-weak_alias (__pthread_return_0, pthread_mutex_lock)
-weak_alias (__pthread_return_0, pthread_mutex_trylock)
-weak_alias (__pthread_return_0, pthread_mutex_unlock)
-weak_alias (__pthread_return_0, pthread_mutexattr_init)
-weak_alias (__pthread_return_0, pthread_mutexattr_destroy)
-weak_alias (__pthread_return_0, pthread_mutexattr_settype)
-weak_alias (__pthread_return_0, pthread_mutexattr_gettype)
-weak_alias (__pthread_return_0, pthread_condattr_init)
-weak_alias (__pthread_return_0, pthread_condattr_destroy)
-weak_alias (__pthread_return_0, pthread_setschedparam)
-weak_alias (__pthread_return_0, pthread_getschedparam)
-weak_alias (__pthread_return_0, pthread_getcancelstate)
-weak_alias (__pthread_return_0, pthread_setcancelstate)
-weak_alias (__pthread_return_0, pthread_setcanceltype)
-weak_alias (__pthread_return_0, pthread_setconcurrency)
-weak_alias (__pthread_return_0, pthread_getconcurrency)
-weak_alias (__pthread_return_0, pthread_self)
-weak_alias (__pthread_return_0, pthread_cond_init)
-weak_alias (__pthread_return_0, pthread_cond_destroy)
-weak_alias (__pthread_return_0, pthread_cond_wait)
-weak_alias (__pthread_return_0, pthread_cond_timedwait)
-weak_alias (__pthread_return_0, pthread_cond_signal)
-weak_alias (__pthread_return_0, pthread_cond_broadcast)
-weak_alias (__pthread_return_0, pthread_rwlock_init)
-weak_alias (__pthread_return_0, pthread_rwlock_destroy)
-weak_alias (__pthread_return_0, pthread_rwlock_rdlock)
-weak_alias (__pthread_return_0, pthread_rwlock_wrlock)
-weak_alias (__pthread_return_0, pthread_rwlock_tryrdlock)
-weak_alias (__pthread_return_0, pthread_rwlock_trywrlock)
-weak_alias (__pthread_return_0, pthread_rwlock_unlock)
-weak_alias (__pthread_return_0, pthread_rwlockattr_init)
-weak_alias (__pthread_return_0, pthread_rwlockattr_destroy)
-weak_alias (__pthread_return_0, pthread_rwlockattr_setpshared)
-weak_alias (__pthread_return_0, pthread_rwlockattr_getpshared)
weak_alias (__pthread_return_0, __pthread_once)
weak_alias (__pthread_return_void, __pthread_initialize_minimal)
-
-/* Those are pthread functions which return 1 if successful. */
-weak_alias (__pthread_return_1, pthread_equal)
-
-/* pthread_exit () is a special case. */
-void weak_function
-pthread_exit (void *retval)
-{
- exit (EXIT_SUCCESS);
-}
+weak_alias (__pthread_return_0, __pthread_mutex_init)
+weak_alias (__pthread_return_0, __pthread_mutex_lock)
+weak_alias (__pthread_return_0, __pthread_mutex_trylock)
+weak_alias (__pthread_return_0, __pthread_mutex_unlock)
int
__pthread_return_0 (void)
return 0;
}
-int
-__pthread_return_1 (void)
-{
- return 1;
-}
-
void
__pthread_return_void (void)
{
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
static pthread_mutex_t mylock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK
# define UNLOCK
extern pthread_mutex_t _time_tzlock;
-#define TZLOCK pthread_mutex_lock(&_time_tzlock)
-#define TZUNLOCK pthread_mutex_unlock(&_time_tzlock)
+#define TZLOCK __pthread_mutex_lock(&_time_tzlock)
+#define TZUNLOCK __pthread_mutex_unlock(&_time_tzlock)
#else
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
static pthread_mutex_t utmplock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK pthread_mutex_lock(&utmplock)
-# define UNLOCK pthread_mutex_unlock(&utmplock);
+# define LOCK __pthread_mutex_lock(&utmplock)
+# define UNLOCK __pthread_mutex_unlock(&utmplock)
#else
# define LOCK
# define UNLOCK
void NAME##_unlocked PARAMS
#define __STDIO_THREADLOCK_OPENLIST \
- pthread_mutex_lock(&_stdio_openlist_lock)
+ __pthread_mutex_lock(&_stdio_openlist_lock)
#define __STDIO_THREADUNLOCK_OPENLIST \
- pthread_mutex_unlock(&_stdio_openlist_lock)
+ __pthread_mutex_unlock(&_stdio_openlist_lock)
#define __STDIO_THREADTRYLOCK_OPENLIST \
- pthread_mutex_trylock(&_stdio_openlist_lock)
+ __pthread_mutex_trylock(&_stdio_openlist_lock)
#endif /* __STDIO_THREADSAFE */
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK
# define UNLOCK
#ifdef __UCLIBC_HAS_THREADS__
static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK ((void) 0)
# define UNLOCK ((void) 0)
#ifdef __UCLIBC_HAS_THREADS__
static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK ((void) 0)
# define UNLOCK ((void) 0)
#ifdef __UCLIBC_HAS_THREADS__
static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK ((void) 0)
# define UNLOCK ((void) 0)
void NAME##_unlocked PARAMS
#define __STDIO_THREADLOCK_OPENLIST \
- pthread_mutex_lock(&_stdio_openlist_lock)
+ __pthread_mutex_lock(&_stdio_openlist_lock)
#define __STDIO_THREADUNLOCK_OPENLIST \
- pthread_mutex_unlock(&_stdio_openlist_lock)
+ __pthread_mutex_unlock(&_stdio_openlist_lock)
#define __STDIO_THREADTRYLOCK_OPENLIST \
- pthread_mutex_trylock(&_stdio_openlist_lock)
+ __pthread_mutex_trylock(&_stdio_openlist_lock)
#endif /* __STDIO_THREADSAFE */
void flockfile(FILE *stream)
{
#ifdef __STDIO_THREADSAFE
- pthread_mutex_lock(&stream->lock);
+ __pthread_mutex_lock(&stream->lock);
#endif
}
int ftrylockfile(FILE *stream)
{
#ifdef __STDIO_THREADSAFE
- return pthread_mutex_trylock(&stream->lock);
+ return __pthread_mutex_trylock(&stream->lock);
#else
return 1;
#endif
void funlockfile(FILE *stream)
{
#ifdef __STDIO_THREADSAFE
- pthread_mutex_unlock(&stream->lock);
+ __pthread_mutex_unlock(&stream->lock);
#endif
}
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
static pthread_mutex_t mylock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK
# define UNLOCK
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
extern pthread_mutex_t mylock;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK
# define UNLOCK
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
pthread_mutex_t __malloclock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK pthread_mutex_lock(&__malloclock)
-# define UNLOCK pthread_mutex_unlock(&__malloclock);
+# define LOCK __pthread_mutex_lock(&__malloclock)
+# define UNLOCK __pthread_mutex_unlock(&__malloclock);
#else
# define LOCK
# define UNLOCK
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
extern pthread_mutex_t __malloclock;
-# define LOCK pthread_mutex_lock(&__malloclock)
-# define UNLOCK pthread_mutex_unlock(&__malloclock);
+# define LOCK __pthread_mutex_lock(&__malloclock)
+# define UNLOCK __pthread_mutex_unlock(&__malloclock);
#else
# define LOCK
# define UNLOCK
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
extern pthread_mutex_t __malloclock;
-# define LOCK pthread_mutex_lock(&__malloclock)
-# define UNLOCK pthread_mutex_unlock(&__malloclock);
+# define LOCK __pthread_mutex_lock(&__malloclock)
+# define UNLOCK __pthread_mutex_unlock(&__malloclock);
#else
# define LOCK
# define UNLOCK
#ifdef HEAP_USE_LOCKING
-# define __heap_lock(heap) pthread_mutex_lock (&(heap)->lock)
-# define __heap_unlock(heap) pthread_mutex_unlock (&(heap)->lock)
+# define __heap_lock(heap) __pthread_mutex_lock (&(heap)->lock)
+# define __heap_unlock(heap) __pthread_mutex_unlock (&(heap)->lock)
#else /* !__UCLIBC_HAS_THREADS__ */
/* Without threads, mutex operations are a nop. */
# define __heap_lock(heap) (void)0
things will break if these multiple calls are interleaved with another
thread's use of sbrk!). */
extern malloc_mutex_t __malloc_sbrk_lock;
-# define __malloc_lock_sbrk() pthread_mutex_lock (&__malloc_sbrk_lock)
-# define __malloc_unlock_sbrk() pthread_mutex_unlock (&__malloc_sbrk_lock)
+# define __malloc_lock_sbrk() __pthread_mutex_lock (&__malloc_sbrk_lock)
+# define __malloc_unlock_sbrk() __pthread_mutex_unlock (&__malloc_sbrk_lock)
# endif /* MALLOC_USE_SBRK */
#else /* !__UCLIBC_HAS_THREADS__ */
data. */
static pthread_mutex_t lock = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
#else
-#define pthread_mutex_lock(x)
-#define pthread_mutex_unlock(x)
+#define __pthread_mutex_lock(x)
+#define __pthread_mutex_unlock(x)
#endif
/* An improved random number generation package. In addition to the standard
for default usage relies on values produced by this routine. */
void srandom (unsigned int x)
{
- pthread_mutex_lock(&lock);
+ __pthread_mutex_lock(&lock);
srandom_r (x, &unsafe_state);
- pthread_mutex_unlock(&lock);
+ __pthread_mutex_unlock(&lock);
}
weak_alias (srandom, srand)
{
int32_t *ostate;
- pthread_mutex_lock(&lock);
+ __pthread_mutex_lock(&lock);
ostate = &unsafe_state.state[-1];
initstate_r (seed, arg_state, n, &unsafe_state);
- pthread_mutex_unlock(&lock);
+ __pthread_mutex_unlock(&lock);
return (char *) ostate;
}
{
int32_t *ostate;
- pthread_mutex_lock(&lock);
+ __pthread_mutex_lock(&lock);
ostate = &unsafe_state.state[-1];
if (setstate_r (arg_state, &unsafe_state) < 0)
ostate = NULL;
- pthread_mutex_unlock(&lock);
+ __pthread_mutex_unlock(&lock);
return (char *) ostate;
}
{
int32_t retval;
- pthread_mutex_lock(&lock);
+ __pthread_mutex_lock(&lock);
random_r (&unsafe_state, &retval);
- pthread_mutex_unlock(&lock);
+ __pthread_mutex_unlock(&lock);
return retval;
}
#ifdef __UCLIBC_HAS_THREADS__
#include <pthread.h>
static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
-# define LOCK pthread_mutex_lock(&mylock)
-# define UNLOCK pthread_mutex_unlock(&mylock);
+# define LOCK __pthread_mutex_lock(&mylock)
+# define UNLOCK __pthread_mutex_unlock(&mylock);
#else
# define LOCK
# define UNLOCK
--- /dev/null
+/* Copyright (C) 2003 Manuel Novoa III
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+/* Supply prototypes for the (weak) thread functions used by the
+ * uClibc library code.
+ */
+
+#ifndef _UCLIBC_PTHREAD_H
+#define _UCLIBC_PTHREAD_H
+
+#ifndef _PTHREAD_H
+#error Always include <pthread.h> rather than <bits/uClibc_pthread.h>
+#endif
+
+extern int __pthread_mutex_init (pthread_mutex_t *__restrict __mutex,
+ __const pthread_mutexattr_t *__restrict
+ __mutex_attr) __THROW;
+
+extern int __pthread_mutex_trylock (pthread_mutex_t *__mutex) __THROW;
+
+extern int __pthread_mutex_lock (pthread_mutex_t *__mutex) __THROW;
+
+extern int __pthread_mutex_unlock (pthread_mutex_t *__mutex) __THROW;
+
+#endif
#define __STDIO_THREADLOCK(STREAM) \
if ((STREAM)->user_locking == 0) { \
- pthread_mutex_lock(&(STREAM)->lock); \
+ __pthread_mutex_lock(&(STREAM)->lock); \
}
#define __STDIO_THREADUNLOCK(STREAM) \
if ((STREAM)->user_locking == 0) { \
- pthread_mutex_unlock(&(STREAM)->lock); \
+ __pthread_mutex_unlock(&(STREAM)->lock); \
}
#define __STDIO_THREADTRYLOCK(STREAM) \
if ((STREAM)->user_locking == 0) { \
- pthread_mutex_trylock(&(STREAM)->lock); \
+ __pthread_mutex_trylock(&(STREAM)->lock); \
}
#define __STDIO_SET_USER_LOCKING(STREAM) ((STREAM)->user_locking = 1)
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-/* #include <bits/libc-lock.h> */
#include <stdio.h>
#include <pthread.h>
/* Mutexes */
-#include <bits/libc-lock.h>
#include <errno.h>
#include <sched.h>
#include <stddef.h>
#include "internals.h"
#include "spinlock.h"
#include "restart.h"
-#include <bits/libc-lock.h>
/* Table of keys. */