summaryrefslogtreecommitdiffstats
path: root/meta/packages/glibc/glibc-2.4/local-stdio-lock.diff
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/glibc/glibc-2.4/local-stdio-lock.diff')
-rw-r--r--meta/packages/glibc/glibc-2.4/local-stdio-lock.diff34
1 files changed, 34 insertions, 0 deletions
diff --git a/meta/packages/glibc/glibc-2.4/local-stdio-lock.diff b/meta/packages/glibc/glibc-2.4/local-stdio-lock.diff
new file mode 100644
index 0000000000..65cd2fd6b4
--- /dev/null
+++ b/meta/packages/glibc/glibc-2.4/local-stdio-lock.diff
@@ -0,0 +1,34 @@
1---
2 bits/stdio-lock.h | 17 +++++++++++++----
3 1 file changed, 13 insertions(+), 4 deletions(-)
4
5--- glibc-2.7.orig/bits/stdio-lock.h
6+++ glibc-2.7/bits/stdio-lock.h
7@@ -45,14 +45,23 @@ __libc_lock_define_recursive (typedef, _
8 #define _IO_cleanup_region_end(_doit) \
9 __libc_cleanup_region_end (_doit)
10
11 #if defined _LIBC && !defined NOT_IN_libc
12 # define _IO_acquire_lock(_fp) \
13- _IO_cleanup_region_start ((void (*) (void *)) _IO_funlockfile, (_fp)); \
14- _IO_flockfile (_fp)
15+ { \
16+ _IO_FILE *_IO_acquire_lock_file = _fp; \
17+ __libc_cleanup_region_start (1, (void (*) (void *)) _IO_acquire_lock_fct, &_IO_acquire_lock_file); \
18+ _IO_flockfile (_IO_acquire_lock_file)
19+
20+# define _IO_acquire_lock_clear_flags2(_fp) \
21+ { \
22+ _IO_FILE *_IO_acquire_lock_file = _fp; \
23+ __libc_cleanup_region_start (1, (void (*) (void *)) _IO_acquire_lock_clear_flags2_fct, &_IO_acquire_lock_file); \
24+ _IO_flockfile (_IO_acquire_lock_file)
25
26 # define _IO_release_lock(_fp) \
27- _IO_funlockfile (_fp); \
28- _IO_cleanup_region_end (0)
29+ __libc_cleanup_region_end (1); \
30+ }
31+
32 #endif
33
34 #endif /* bits/stdio-lock.h */