1 diff -uNr rpm-4.3/rpmio/rpmsq.c rpm-4.3.fixed/rpmio/rpmsq.c
2 --- rpm-4.3/rpmio/rpmsq.c 2004-01-04 03:13:09.000000000 +0100
3 +++ rpm-4.3.fixed/rpmio/rpmsq.c 2004-02-04 20:29:39.000000000 +0100
5 #define DO_UNLOCK() pthread_mutex_unlock(&rpmsigTbl_lock);
7 { pthread_mutexattr_t attr; \
8 - (void) pthread_mutexattr_init(&attr); \
9 - (void) pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); \
10 - (void) pthread_mutex_init (&rpmsigTbl_lock, &attr); \
11 - (void) pthread_mutexattr_destroy(&attr); \
12 + pthread_mutexattr_init(&attr); \
13 + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); \
14 + pthread_mutex_init (&rpmsigTbl_lock, &attr); \
15 + pthread_mutexattr_destroy(&attr); \
16 rpmsigTbl_sigchld->active = 0; \
18 #define ADD_REF(__tbl) (__tbl)->active++
19 #define SUB_REF(__tbl) --(__tbl)->active
20 #define CLEANUP_HANDLER(__handler, __arg, __oldtypeptr) \
21 - (void) pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, (__oldtypeptr));\
22 + pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, (__oldtypeptr));\
23 pthread_cleanup_push((__handler), (__arg));
24 #define CLEANUP_RESET(__execute, __oldtype) \
25 pthread_cleanup_pop(__execute); \
26 - (void) pthread_setcanceltype ((__oldtype), &(__oldtype));
27 + pthread_setcanceltype ((__oldtype), &(__oldtype));
29 #define SAME_THREAD(_a, _b) pthread_equal(((pthread_t)_a), ((pthread_t)_b))