Please visit the link within this post.
_check_lock and _clear_lock on AIX
I tested the code implementing the routines and the code behaves fine in Unit testing.
Also if someone can explain me in detail "The word variable must be aligned on a full word boundary." as stated in the page. Please correct me if I am worng - "A group of related bytes that are treated as a single addressable unit or entity in memory is called as a WORD. Hence size of a word varies from one computer to another, depending on the CPU. For computers with a 16-bit CPU, a word is 16 bits (2 bytes)."
Single Word = Single addressable unit by CPU
Word Boundary = Address completely divisible by number of bytes that represents a single addressable unit.
Example Single Word length = 16 bits then a word boundary is any address that is completely divisible by 16, which would mean that the variable referenced here should begin at 0,16,32,48,64 ... and so on memory locations and the variable should consume 16 bits of memory.
Am I correct? What extra care should I take into account during coding?
Please let me know whether these are a proven set of standard 'C' routines. Please let me know your honest opinions before I put it into the production system and have a go.
Thanks in advance