PJ41135: Following PJ31976, a CTL-10 may occur in the thread library (CTHD) when calling pthread_rwlock_trywrlock
Closed as program error.
See Problem Summary.
APAR NUMBER: PJ41135 PRODUCT: z/TPF FUNCTIONAL AREA: THREADS SUPPORT SHIPPED IN PUT: 10 ABSTRACT: Following PJ31976, a CTL-10 may occur in the thread library (CTHD) when calling pthread_rwlock_trywrlock or pthread_rwlock_tryrdlock. PACKAGE CONTENTS: Source Segments: None. Object Only Binaries: (C) base/oco/stdload/CTHD.so (C) base/oco/stdlib/libCTHD.so Configuration Independent Binaries: None. Support Files: None. OTHER BINARIES TO BUILD: NO None. COMMENTS: If pthread APIs pthread_rwlock_trywrlock or pthread_rwlock_tryrdlock are called, the thread library may loop continuously trying to get the lock if a reader is currently holding the lock. Readers typically hold the lock for a very short time. However, if the reader does not give up the lock in a timely manner or the thread library loops trying to get the lock on a system containing a single I-stream, the thread library may loop long enough to cause a CTL-10. In addition, pthread_rwlock_tryrdlock contains a second error where it will always loop continuously if a reader is currently holding the lock, even if the reader unlocks the lock, due to an uninitialized loop control variable.
SOLUTION: The thread library, CTHD, has been modified for pthread_rwlock_trywrlock and pthread_rwlock_tryrdlock to try to acquire the lock three times. If the lock cannot be acquired, error number EBUSY is returned to the caller. COREQS: NO None. MIGRATION CONSIDERATIONS: NO None. BUILD COMMANDS AND INSTRUCTIONS: NO None. UPDATED INFORMATION UNITS: NO None. See your IBM representative if you need additional information. DOWNLOAD INSTRUCTIONS: http://www.ibm.com/software/htp/tpf/maint/maintztpf.html APAR URL: http://www.ibm.com/software/htp/tpf/ztpfmaint/put10/PJ41135.htm
Reported component name
Reported component ID
NoSpecatt / Xsystem
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
Fixed component ID
Applicable component levels