CEEOPMI
CEEOPMI initializes the mutex or read-write lock referred to by lock_object with the attributes identified by attr_object. If this function fails, the mutex or read-write lock is not initialized and the contents of lock_object is undefined.
C library interface
pthread_mutex_init(), pthread_rwlock_init()
Syntax
void CEEOPMI (lock_object, attr_object, lock_type,
[fc])
CEE_MUTEX *lock_object;
CEE_LOCKATTR *attr_object;
INT4 *lock_type;
FEED_BACK *fc;
- CEEOPMI
- Call this CWI interface as follows:
L R15,CEECAALEOV-CEECAA(,R12) CAA address is in R12 L R15,0280(,R15) BALR R14,R15
- lock_object (input/output)
- The mutex or read-write lock to be initialized.
- attr_object (input)
- The attributes object used to initialize the mutex or read-write lock.
- lock_type (input)
- A full word integer with the following defined values:
- X'00000000'
- mutex (without _OPEN_SYS_MUTEX_EXT feature)
- X'00000001'
- read-write lock
- X'00000002'
- extended mutex (with _OPEN_SYS_MUTEX_EXT feature)
- fc (output/optional)
- The feedback code returned by the service. It indicates the degree of success in initializing the lock_object.
The following message identifiers and associated severity can be returned by the service in the feedback code fc.
Condition | Description category | Description value |
---|---|---|
CEE000 | Severity | 0 |
Msg_No | 0000 | |
Message | The service completed successfully. | |
CEE4S9 | Severity | 3 |
Msg_No | 5001 | |
Message | The service is unavailable unless POSIX(ON) runtime option specified and z/OS UNIX System Services are started. | |
CEE5I7 | Severity | 3 |
Msg_No | 5703 | |
Message | Address exception accessing object specified by lock_object or attr_object. | |
CEE5I8 | Severity | 4 |
Msg_No | 5704 | |
Message | Address exception while referencing storage allocated by mutex initialization for pthread_mutex_t object specified by lock_object. | |
CEE5IC | Severity | 3 |
Msg_No | 5708 | |
Message | The pthread_mutex_t object specified by lock_object was already initialized. | |
CEE5ID | Severity | 3 |
Msg_No | 5709 | |
Message | The pthread_mutexattr_t object specified by attr_object is not valid (not initialized). | |
CEE5IE | Severity | 3 |
Msg_No | 5710 | |
Message | Insufficient storage to initialize the pthread_mutex_t object specified by lock_object. | |
CEE5IK | Severity | 4 |
Msg_No | 5716 | |
Message | Unable to free storage allocated by mutex initialization for pthread_mutex_t object specified by lock_object. | |
CEE5IP | Severity | 0 |
Msg_No | 5721 | |
Message | Insufficient resource to initialize mutex specified by lock_object. | |
CEE5IQ | Severity | 0 |
Msg_No | 5722 | |
Message | Insufficient privilege to initialize mutex specified by lock_object. | |
CEE5K6 | Severity | 3 |
Msg_No | 5766 | |
Message | An addressing exception occurred referencing a lock object. | |
CEE5K7 | Severity | 4 |
Msg_No | 5767 | |
Message | Address exception while referencing system storage allocated by lock object initialization. | |
CEE5KB | Severity | 3 |
Msg_No | 5771 | |
Message | The pthread_rwlock_t object specified by lock_object was already initialized. | |
CEE5KC | Severity | 3 |
Msg_No | 5772 | |
Message | The lock attribute object specified by attr_object was not initialized. | |
CEE5KD | Severity | 3 |
Msg_No | 5773 | |
Message | Insufficient storage to initialize the pthread_rwlock_t object specified by lock_object. | |
CEE5KJ | Severity | 4 |
Msg_No | 5779 | |
Message | System lock storage could not be freed. | |
CEE5KO | Severity | 0 |
Msg_No | 5784 | |
Message | Insufficient resource to initialize another read-write lock specified by lock_object. | |
CEE5KP | Severity | 0 |
Msg_No | 5785 | |
Message | Insufficient privilege to initialize the read-write lock specified by lock_object. | |
CEE5KQ | Severity | 3 |
Msg_No | 5786 | |
Message | The callable service BPX1SLK failed during shared lock processing. The system return code was return_code, the reason code was reason_code, X'00'. | |
CEE5L4 | Severity | 3 |
Msg_No | 5796 | |
Message | The callable service, BPX1SMC, failed during shared lock processing. The system return code was return_code. The reason code was return_code, X'00'. |