PROBLEM: (87500, 87891, HPAQ20JQV) (PATCH ID: OSF445-245) ******** When both libaio and libaio_raw are linked into the same image, the run-time environment will execute both __init_aio routines - which register prefork handlers that take a mutex. This causes the prefork handler to be called twice by the same thread. The first gets the mutex and the second blocks forever. The final fix is probably to combine libaio and libaio_raw into a single image so that the above can't happen. Until then, we'll warn the user when we detect both libraries in the same executable. PROBLEM: (CH_G03471, 92575, 87500) (PATCH ID: OSF445-417) ******** When both libaio and libaio_raw are linked into the same image, the run-time environment will execute both __init_aio routines - which register prefork handlers that take a mutex. This causes the prefork handler to be called twice by the same thread. The first gets the mutex and the second blocks... forever. Closed a race condition when an AIO request was cancelled before the thread created to handle the request was dispatched. Stale global data generated the "inconsistency" check. The thread now detects this condition and recovers gracefully. The race condition may result in a process exit displaying: Internal AIO consistency error: No thread pointer at fd X. Aborting". PROBLEM: (87891) (PATCH ID: OSF445-264) ******** This patch is a backout of a previous fix to libaio which produces a warning when an application that was linked to both libaio and libaioi_raw is executed. PROBLEM: (HPAQC1TZ5) (PATCH ID: OSF445-388) ******** Support for up to NEW_OPEN_MAX_SYSTEM (64K) file descriptors added to libaio.