Changeset 21308 for trunk/src/kernel32
- Timestamp:
- Jun 18, 2009, 6:27:45 PM (16 years ago)
- Location:
- trunk/src/kernel32
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/initkernel32.cpp
r21302 r21308 60 60 #include <stats.h> 61 61 #include <heapshared.h> 62 #include <heapstring.h> 62 63 #include <_ras.h> 63 64 … … 71 72 extern DWORD kernel32_PEResTab; 72 73 } 74 75 extern PFN pfnImSetMsgQueueProperty; 73 76 74 77 ULONG flAllocMem = 0; /* flag to optimize DosAllocMem to use all the memory on SMP machines */ … … 79 82 BOOL fInit = FALSE; 80 83 BOOL fWin32k = FALSE; 84 HMODULE imHandle = 0; 85 char szModName[ 256 ] = ""; 81 86 82 87 /****************************************************************************/ … … 224 229 CODEPAGE_Init(); 225 230 231 if( IsDBCSEnv() && DosLoadModule( szModName, sizeof( szModName ), "OS2IM.DLL", &imHandle ) == 0 ) 232 DosQueryProcAddr( imHandle, 140, NULL, &pfnImSetMsgQueueProperty ); 233 226 234 InitSystemInfo(ulSysinfo); 227 235 //Set up environment as found in NT … … 272 280 dprintf(("kernel32 exit %d\n", ulReason)); 273 281 282 if( IsDBCSEnv() && imHandle ) 283 DosFreeModule( imHandle ); 284 274 285 //Flush and delete all open memory mapped files 275 286 Win32MemMap::deleteAll(); -
trunk/src/kernel32/oslibmisc.cpp
r21302 r21308 28 28 #include "dbglocal.h" 29 29 30 typedef APIRET ( APIENTRY *PFN_IMSETMSGQUEUEPROPERTY )( HMQ, ULONG ); 31 32 PFN_IMSETMSGQUEUEPROPERTY pfnImSetMsgQueueProperty = NULL; 33 30 34 //****************************************************************************** 31 35 //TODO: not reentrant! … … 351 355 //****************************************************************************** 352 356 //****************************************************************************** 353 357 ULONG OSLibImSetMsgQueueProperty( ULONG hmq, ULONG ulFlag ) 358 { 359 USHORT sel; 360 APIRET rc; 361 362 if( !pfnImSetMsgQueueProperty ) 363 return 1; 364 365 sel = RestoreOS2FS(); 366 rc = pfnImSetMsgQueueProperty( hmq, ulFlag ); 367 SetFS( sel ); 368 369 return rc; 370 } 371 //****************************************************************************** 372 //****************************************************************************** 373 -
trunk/src/kernel32/oslibmisc.h
r21302 r21308 103 103 void OSLibQueryBeginLibpath(char *lpszBeginlibpath, int size); 104 104 105 ULONG OSLibImSetMsgQueueProperty( ULONG hmq, ULONG ulFlag ); 106 105 107 #ifdef __cplusplus 106 108 } -
trunk/src/kernel32/thread.cpp
r21302 r21308 34 34 #include <handlemanager.h> 35 35 #include <codepage.h> 36 #include <heapstring.h> 36 37 37 38 #include "hmhandle.h" … … 48 49 49 50 static ULONG priorityclass = NORMAL_PRIORITY_CLASS; 51 52 #define MQP_INSTANCE_PERMQ 0x00000001 // from os2im.h 50 53 51 54 //****************************************************************************** … … 689 692 dprintf(("Win32ThreadProc: hab %x hmq %x", winteb->o.odin.hab, winteb->o.odin.hmq)); 690 693 dprintf(("Stack top 0x%x, stack end 0x%x", winteb->stack_top, winteb->stack_low)); 694 695 if( IsDBCSEnv()) 696 /* IM instace is created per message queue, that is, thread */ 697 OSLibImSetMsgQueueProperty( winteb->o.odin.hmq, MQP_INSTANCE_PERMQ ); 691 698 692 699 //Note: The Win32 exception structure referenced by FS:[0] is the same -
trunk/src/kernel32/windllbase.cpp
r21302 r21308 708 708 PROFILE_SetOdinIniString(DLLRENAMEOS2_SECTION, "CRTDLL32", "CRTDLL"); 709 709 } 710 if(PROFILE_GetOdinIniString(DLLRENAMEWIN_SECTION, "IMM32", "", renameddll, 711 sizeof(renameddll)-1) <= 1) 712 { 713 PROFILE_SetOdinIniString(DLLRENAMEWIN_SECTION, "IMM32", "IMM32OS2"); 714 PROFILE_SetOdinIniString(DLLRENAMEOS2_SECTION, "IMM32OS2", "IMM32"); 715 } 710 716 } 711 717 //******************************************************************************
Note:
See TracChangeset
for help on using the changeset viewer.