Hi.

Is this lock supposed to be locked/unlocked before initialization? 

rpm-5.4.15/rpmio/rpmsq.c.org       2017-10-15 01:00:30.963509460 +0200
rpm-5.4.15/rpmio/rpmsq.c  2017-10-15 09:34:23.705224635 +0200
@@ -210,10 +210,11 @@
 #endif

 /*@-macromatchname@*/
-#define        DO_LOCK()       /*@-
retvalint@*/pthread_mutex_lock(&rpmsigTbl_lock)/*@=retvalint@*/;
-#define        DO_UNLOCK()     pthread_mutex_unlock(&rpmsigTbl_lock);
+#define        DO_LOCK()       /*@-retvalint@*/printf("LOCKING\n"); 
pthread_mutex_lock(&rpmsigTbl_lock)/*@=retvalint@*/;
+#define        DO_UNLOCK()     printf("UNLOCKING\n"); 
pthread_mutex_unlock(&rpmsigTbl_lock);
 #define        INIT_LOCK()     \
-    {  pthread_mutexattr_t attr; \
+    {  printf("INITIALIZING\n"); \
+       pthread_mutexattr_t attr; \
        (void) pthread_mutexattr_init(&attr); \
        (void) pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); \
        (void) pthread_mutex_init (&rpmsigTbl_lock, &attr); \

and (notice no initialization before locking/unlocking):

$ ./rpmbuild -bb ~/rpm/packages/alien/alien.spec
LOCKING
UNLOCKING
LOCKING
UNLOCKING
LOCKING
UNLOCKING
LOCKING
UNLOCKING
LOCKING
UNLOCKING
LOCKING
UNLOCKING
LOCKING
UNLOCKING
LOCKING
UNLOCKING
LOCKING
UNLOCKING
LOCKING
UNLOCKING
Executing(%prep): /bin/sh -e /home/users/arekm/tmp/tmp-x32/rpm-tmp.26404
LOCKING
LOCKING
UNLOCKING
LOCKING
UNLOCKING
UNLOCKING
INITIALIZING
+ umask 022
+ cd /home/users/arekm/rpm/BUILD-x32
+ cd /home/users/arekm/rpm/BUILD-noarch
+ rm -rf alien-8.95
+ /usr/bin/xz -dc /home/users/arekm/rpm/packages/alien/alien_8.95.tar.xz
+ /bin/tar -xf -
+ STATUS=0 
+ '[' 0 -ne 0 ']'
+ cd alien-8.95
+ /bin/id -u
+ '[' 1000 '=' 0 ']'
+ /bin/id -u
+ '[' 1000 '=' 0 ']'
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ exit 0
LOCKING
LOCKING
UNLOCKING
LOCKING
UNLOCKING
UNLOCKING
Executing(%build): /bin/sh -e /home/users/arekm/tmp/tmp-x32/rpm-tmp.26404
LOCKING
LOCKING
UNLOCKING
LOCKING
UNLOCKING
UNLOCKING
INITIALIZING
TMP=/home/users/arekm/tmp

-- 
Arkadiusz Miśkiewicz, arekm / ( maven.pl | pld-linux.org )
______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
Developer Communication List                        rpm-devel@rpm5.org

Reply via email to