[OS/2] Bug 351246: Load Mozilla into Highmem on OS/2. Part 1, changes to OS/2 only core code. r=abwillis1, sr=mkaply

git-svn-id: svn://10.0.0.236/trunk@216818 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
mozilla%weilbacher.org
2006-12-10 08:53:03 +00:00
parent bbc7755ab2
commit 712a4e7cb3
7 changed files with 95 additions and 2 deletions

View File

@@ -39,6 +39,11 @@
*
* ***** END LICENSE BLOCK ***** */
#ifdef MOZ_OS2_HIGH_MEMORY
// os2safe.h has to be included before os2.h, needed for high mem
#include <os2safe.h>
#endif
#define INCL_PM
#define INCL_GPI
#define INCL_DOS
@@ -1146,8 +1151,22 @@ struct MessageWindow {
APIRET rc = NO_ERROR;
PVOID pvData = NULL;
ULONG ulSize = sizeof(COPYDATASTRUCT)+strlen(cmd)+1;
#ifdef MOZ_OS2_HIGH_MEMORY
rc = DosAllocSharedMem( &pvData, NULL, ulSize,
(PAG_COMMIT|PAG_READ|PAG_WRITE|OBJ_GETTABLE) );
PAG_COMMIT | PAG_READ | PAG_WRITE | OBJ_GETTABLE | OBJ_ANY);
if( rc != NO_ERROR ) // Did the kernel handle OBJ_ANY?
{
// Try again without OBJ_ANY and if the first failure was not caused
// by OBJ_ANY then we will get the same failure, else we have taken
// care of pre-FP13 systems where the kernel couldn't handle it.
rc = DosAllocSharedMem( &pvData, NULL, ulSize,
PAG_COMMIT | PAG_READ | PAG_WRITE | OBJ_GETTABLE);
}
#else
rc = DosAllocSharedMem( &pvData, NULL, ulSize,
PAG_COMMIT | PAG_READ | PAG_WRITE | OBJ_GETTABLE);
#endif
if( rc != NO_ERROR )
{