mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-22 13:00:06 +00:00
Update.
2003-11-04 Ulrich Drepper <drepper@redhat.com> * sysdeps/pthread/bits/stdio-lock.h: Use lll_*lock instead of lll_mutex_*lock macros to skip atomic operations on some archs.
This commit is contained in:
parent
9378784537
commit
c28422b575
@ -1,3 +1,8 @@
|
|||||||
|
2003-11-04 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
|
* sysdeps/pthread/bits/stdio-lock.h: Use lll_*lock instead of
|
||||||
|
lll_mutex_*lock macros to skip atomic operations on some archs.
|
||||||
|
|
||||||
2003-11-03 Ulrich Drepper <drepper@redhat.com>
|
2003-11-03 Ulrich Drepper <drepper@redhat.com>
|
||||||
|
|
||||||
* sysdeps/pthread/tst-timer.c (main): Initialize
|
* sysdeps/pthread/tst-timer.c (main): Initialize
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
|
typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
|
||||||
|
|
||||||
#define _IO_lock_initializer { LLL_MUTEX_LOCK_INITIALIZER, 0, NULL }
|
#define _IO_lock_initializer { LLL_LOCK_INITIALIZER, 0, NULL }
|
||||||
|
|
||||||
#define _IO_lock_init(_name) \
|
#define _IO_lock_init(_name) \
|
||||||
((_name) = (_IO_lock_t) _IO_lock_initializer , 0)
|
((_name) = (_IO_lock_t) _IO_lock_initializer , 0)
|
||||||
@ -42,7 +42,7 @@ typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
|
|||||||
void *__self = THREAD_SELF; \
|
void *__self = THREAD_SELF; \
|
||||||
if ((_name).owner != __self) \
|
if ((_name).owner != __self) \
|
||||||
{ \
|
{ \
|
||||||
lll_mutex_lock ((_name).lock); \
|
lll_lock ((_name).lock); \
|
||||||
(_name).owner = __self; \
|
(_name).owner = __self; \
|
||||||
} \
|
} \
|
||||||
++(_name).cnt; \
|
++(_name).cnt; \
|
||||||
@ -54,7 +54,7 @@ typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
|
|||||||
void *__self = THREAD_SELF; \
|
void *__self = THREAD_SELF; \
|
||||||
if ((_name).owner != __self) \
|
if ((_name).owner != __self) \
|
||||||
{ \
|
{ \
|
||||||
if (lll_mutex_trylock ((_name).lock) == 0) \
|
if (lll_trylock ((_name).lock) == 0) \
|
||||||
{ \
|
{ \
|
||||||
(_name).owner = __self; \
|
(_name).owner = __self; \
|
||||||
(_name).cnt = 1; \
|
(_name).cnt = 1; \
|
||||||
@ -72,7 +72,7 @@ typedef struct { int lock; int cnt; void *owner; } _IO_lock_t;
|
|||||||
if (--(_name).cnt == 0) \
|
if (--(_name).cnt == 0) \
|
||||||
{ \
|
{ \
|
||||||
(_name).owner = NULL; \
|
(_name).owner = NULL; \
|
||||||
lll_mutex_unlock ((_name).lock); \
|
lll_unlock ((_name).lock); \
|
||||||
} \
|
} \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
|
@ -86,7 +86,7 @@ main (void)
|
|||||||
sigev2.sigev_notify_attributes = NULL;
|
sigev2.sigev_notify_attributes = NULL;
|
||||||
/* It is unnecessary to do the following but to set a good example
|
/* It is unnecessary to do the following but to set a good example
|
||||||
we do it anyhow. */
|
we do it anyhow. */
|
||||||
sigev2.sigev_value = 0;
|
sigev2.sigev_value.sival_ptr = NULL;
|
||||||
|
|
||||||
setvbuf (stdout, 0, _IOLBF, 0);
|
setvbuf (stdout, 0, _IOLBF, 0);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user