Configurable IPC keys for DP4 on AIX/Linux/Unix - E4000015 - 04 Sep 2000

On Unix DP4 uses various shared memory blocks,queues and semaphores to control inter-process communication (IPC) between applications and the database manager or terminal manager. Up till now the keys used for these items have been hard coded into the programs. From release 4.522 on these keys will optionally be generated using the ftok() function. This means there will be no possibility of unwanted interaction between DP4 and other Unix software due to their accidentally using the same key value.

Making this change is desirable because one of the key values used by DP4 cannot be removed by ipcrm -M. If DP4 IPC must be removed (for example because kill -9 has been used on DP4), this can usually be done with ipcrm -m,-q etc. which removes items by handle. However there is a bug in AIX which causes these items sometimes to be generated with an invalid (negative) handle which prevents ipcrm from deleting them. In these circumstances the items can usually be removed with ipcrm -M, -Q, which removes items by key value. However one item of DP4 IPC uses a negative key, and ipcrm has a bug (feature?) which won't remove such items. On AIX this can result in DP4 not working until the machine is rebooted. When keys are generated with ftok() the keys used should all be removable with ipcrm -M , and should not clash with any other software (as long as it also uses ftok() to generate IPC keys.)

Please note that if you want to use the new IPC keys you must upgrade ALL DP4 programs that run on the Unix machine. Old programs will hang if srv3 or trm3 have been upgraded and are using the new IPC keys.

To enable ftok() keys, create a file called dp4ftok in the /etc directory. A one line text file should be sufficient - the contents of the file are not important. Make sure that all programs have read access to this file. If this file exists, DP4 IPC will use keys generated by calling ftok() on this filename. According to AIX documentation deleting and recreating the file will most likely change the generated key.

If you do not create the /etc/dp4ftok file, or ftok() cannot access it, then the old IPC keys will be used. Therefore, in the absence of this file all the new programs are compatible with earlier releases.

DP4 Version Compatibility

4.520+

Beta software is supplied without warranty and should not be used in live sites without the agreement of Itim Technology Solutions. Compatibility with an eventual final release cannot be guaranteed.

Downloads

Go to the DP4 FTP site

These programs incorporate enhancements E400011 and E400012. You must upgrade the system database to the new release for the affected programs to run as intended.