Support This Project Get i5/OS Programmer's Toolkit at SourceForge.net. Fast, secure and Free Open Source software downloads

Shared Storage Synchronization

System-builtin Headers

System Builtins
System Builtin Name MI Instruction name Prototype Name Description Usage Examples

_ATMCADD4 ATMCADD4 atmcadd4 Atomic add 4-byte singed binary value. t071.rpgle. Test of _ATMCADD4/8, _ATMCAND4/8, _ATMCOR4/8.

_ATMCADD8 ATMCADD8 atmcadd8 Atomic add 8-byte singed binary value. t071.rpgle. Test of _ATMCADD4/8, _ATMCAND4/8, _ATMCOR4/8.

_ATMCAND4 ATMCAND4 atmcand4 Atomic and 4-byte unsinged binary value. t071.rpgle. Test of _ATMCADD4/8, _ATMCAND4/8, _ATMCOR4/8.

_ATMCAND8 ATMCAND8 atmcand8 Atomic and 8-byte unsinged binary value. t071.rpgle. Test of _ATMCADD4/8, _ATMCAND4/8, _ATMCOR4/8.

_ATMCOR4 ATMCOR4 atmcor4 Atomic or 4-byte unsinged binary value. t071.rpgle. Test of _ATMCADD4/8, _ATMCAND4/8, _ATMCOR4/8.

_ATMCOR8 ATMCOR8 atmcor8 Atomic or 8-byte unsinged binary value. t071.rpgle. Test of _ATMCADD4/8, _ATMCAND4/8, _ATMCOR4/8.

_CHKLKVAL CHKLKVAL chklkval Check lock value.
  • t070.rpgle. Test of CHKLKVAL/CLRLKVAL. This is also an example of implementing thread synchronization by using instruction CHKLKVAL and CLRLKVAL.
  • t087.rpgle. Test of recursive locks via CHKLKVAL/CLRLKVAL.
  • t105.rpgle. Mutually exclusive lock implemented via the CHKLKVAL and CLRLKVAL instructions. The lock object is represented by a 8-byte signed binary scalar stored in a user space object (*USRSPC) whose MI object type code and sub-type code is hex 1934. Multiple jobs can run this program to access shared resource concurrently. In this example, the shared storage protected by the mutex is another 8-byte signed binary scalar stored in same *USRSPC object as the mutex.
  • t106.rpgle. Implement reetrant mutually exclusive lock via the CHKLKVAL and CLRLKVAL instructions. The lock object is represented by a 8-byte signed binary scalar stored in a user space object (*USRSPC) whose MI object type code and sub-type code is hex 1934. Multiple jobs can run this program to access shared resource concurrently. In this example, the shared storage protected by the mutex is another 8-byte signed binary scalar stored in same *USRSPC object as the mutex.

_CLRLKVAL CLRLKVAL clrlkval Clear lock value.
  • t070.rpgle. Test of CHKLKVAL/CLRLKVAL. This is also an example of implementing thread synchronization by using instruction CHKLKVAL and CLRLKVAL.
  • t087.rpgle. Test of recursive locks via CHKLKVAL/CLRLKVAL.
  • t105.rpgle.
  • t106.rpgle.

_SYNCSTG SYNCSTG syncstg Synchronize shared storage accesses. t073.rpgle. Test of _SYNCSTG.


Support This Project
Generated on Mon Oct 3 04:10:44 2011 for i5/OS Programmer's Toolkit: System-builtin Headers for ILE RPG by  doxygen 1.5.9