Hi Brian, On Tue, 22 Jun 2010 16:23:06 UTC, Brian Havard wrote: > On 22/06/10 14:14, Paul Smedley wrote: > > I'd like to get my OS2 specific fixes to support a newer > > compiler/runtime than the current EMX support. > > > > What is the best way to provide the patches? Source file by source > > file to make review easier, or is one larger patch OK? > > > > Should I open a ticket for this or post the patches to the group? > > > > The normal approach is one post/patch per logical issue with an > explanation of what the patch does. OK first one - attempt to allocate shared memory in High Memory Area (ie above 512mb) by specifying OBJ_ANY flag to avoid exhausting low memory, if this call fails (due to old kernel that doesn't support the call), then revert to using low memory. --- \dev\apr-1.4.2-o\shmem\os2\shm.c 2006-08-03 19:40:30.000000000 +0845 +++ \dev\apr-1.4.2\shmem\os2\shm.c 2010-07-12 19:24:54.000000000 +0845 @@ -46,7 +46,12 @@ flags |= OBJ_GETTABLE; } - rc = DosAllocSharedMem(&(newm->memblock), name, reqsize, flags); + /* First try to allocate shared memory in HMA */ + rc = DosAllocSharedMem(&(newm->memblock), name, reqsize, flags | OBJ_ANY); + + if (rc) { + rc = DosAllocSharedMem(&(newm->memblock), name, reqsize, flags); + } if (rc) { return APR_OS2_STATUS(rc); -- Cheers, Paul.