- Timestamp:
- Dec 3, 2001, 1:13:10 PM (24 years ago)
- Location:
- trunk/src/kernel32
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kernel32/HandleManager.cpp
r7489 r7532 1 /* $Id: HandleManager.cpp,v 1.8 1 2001-11-29 13:38:49sandervl Exp $ */1 /* $Id: HandleManager.cpp,v 1.82 2001-12-03 12:13:06 sandervl Exp $ */ 2 2 3 3 /* … … 4044 4044 { 4045 4045 TabWin32Handles[iIndexNew].hmHandleData.hHMHandle = INVALID_HANDLE_VALUE; 4046 return 0; /* signal error */4046 return 0; /* signal error */ 4047 4047 } 4048 4048 … … 4076 4076 4077 4077 pHMHandle = &TabWin32Handles[iIndex]; /* call device handler */ 4078 lpResult = pHMHandle->pDeviceHandler->GetThreadPriority( &TabWin32Handles[iIndex].hmHandleData);4078 lpResult = pHMHandle->pDeviceHandler->GetThreadPriority(hThread, &TabWin32Handles[iIndex].hmHandleData); 4079 4079 4080 4080 return (lpResult); /* deliver return code */ … … 4107 4107 4108 4108 pHMHandle = &TabWin32Handles[iIndex]; /* call device handler */ 4109 lpResult = pHMHandle->pDeviceHandler->SuspendThread( &TabWin32Handles[iIndex].hmHandleData);4109 lpResult = pHMHandle->pDeviceHandler->SuspendThread(hThread, &TabWin32Handles[iIndex].hmHandleData); 4110 4110 4111 4111 return (lpResult); /* deliver return code */ … … 4138 4138 4139 4139 pHMHandle = &TabWin32Handles[iIndex]; /* call device handler */ 4140 lpResult = pHMHandle->pDeviceHandler->SetThreadPriority( &TabWin32Handles[iIndex].hmHandleData, priority);4140 lpResult = pHMHandle->pDeviceHandler->SetThreadPriority(hThread, &TabWin32Handles[iIndex].hmHandleData, priority); 4141 4141 4142 4142 return (lpResult); /* deliver return code */ … … 4169 4169 4170 4170 pHMHandle = &TabWin32Handles[iIndex]; /* call device handler */ 4171 lpResult = pHMHandle->pDeviceHandler->GetThreadContext( &TabWin32Handles[iIndex].hmHandleData, lpContext);4171 lpResult = pHMHandle->pDeviceHandler->GetThreadContext(hThread, &TabWin32Handles[iIndex].hmHandleData, lpContext); 4172 4172 4173 4173 return (lpResult); /* deliver return code */ … … 4200 4200 4201 4201 pHMHandle = &TabWin32Handles[iIndex]; /* call device handler */ 4202 lpResult = pHMHandle->pDeviceHandler->SetThreadContext( &TabWin32Handles[iIndex].hmHandleData, lpContext);4202 lpResult = pHMHandle->pDeviceHandler->SetThreadContext(hThread, &TabWin32Handles[iIndex].hmHandleData, lpContext); 4203 4203 4204 4204 return (lpResult); /* deliver return code */ … … 4231 4231 4232 4232 pHMHandle = &TabWin32Handles[iIndex]; /* call device handler */ 4233 lpResult = pHMHandle->pDeviceHandler->TerminateThread( &TabWin32Handles[iIndex].hmHandleData, exitcode);4233 lpResult = pHMHandle->pDeviceHandler->TerminateThread(hThread, &TabWin32Handles[iIndex].hmHandleData, exitcode); 4234 4234 4235 4235 return (lpResult); /* deliver return code */ … … 4262 4262 4263 4263 pHMHandle = &TabWin32Handles[iIndex]; /* call device handler */ 4264 lpResult = pHMHandle->pDeviceHandler->ResumeThread( &TabWin32Handles[iIndex].hmHandleData);4264 lpResult = pHMHandle->pDeviceHandler->ResumeThread(hThread, &TabWin32Handles[iIndex].hmHandleData); 4265 4265 4266 4266 return (lpResult); /* deliver return code */ … … 4294 4294 4295 4295 pHMHandle = &TabWin32Handles[iIndex]; /* call device handler */ 4296 lpResult = pHMHandle->pDeviceHandler->GetExitCodeThread( &TabWin32Handles[iIndex].hmHandleData, lpExitCode);4296 lpResult = pHMHandle->pDeviceHandler->GetExitCodeThread(hThread, &TabWin32Handles[iIndex].hmHandleData, lpExitCode); 4297 4297 4298 4298 return (lpResult); /* deliver return code */ … … 4325 4325 4326 4326 pHMHandle = &TabWin32Handles[iIndex]; /* call device handler */ 4327 lpResult = pHMHandle->pDeviceHandler->SetThreadTerminated( &TabWin32Handles[iIndex].hmHandleData);4327 lpResult = pHMHandle->pDeviceHandler->SetThreadTerminated(hThread, &TabWin32Handles[iIndex].hmHandleData); 4328 4328 4329 4329 return (lpResult); /* deliver return code */ -
trunk/src/kernel32/hmdevice.cpp
r7457 r7532 1 /* $Id: hmdevice.cpp,v 1. 29 2001-11-26 14:54:00sandervl Exp $ */1 /* $Id: hmdevice.cpp,v 1.30 2001-12-03 12:13:08 sandervl Exp $ */ 2 2 3 3 /* … … 1483 1483 * Author : SvL 1484 1484 *****************************************************************************/ 1485 INT HMDeviceHandler::GetThreadPriority( PHMHANDLEDATA pHMHandleData)1485 INT HMDeviceHandler::GetThreadPriority(HANDLE hThread, PHMHANDLEDATA pHMHandleData) 1486 1486 { 1487 1487 dprintf(("KERNEL32: ERROR: HandleManager::DeviceHandler::GetThreadPriority %08xh", 1488 1488 pHMHandleData->hHMHandle)); 1489 1489 1490 return ERROR_INVALID_HANDLE;1490 return THREAD_PRIORITY_ERROR_RETURN; 1491 1491 } 1492 1492 /***************************************************************************** … … 1500 1500 * Author : SvL 1501 1501 *****************************************************************************/ 1502 DWORD HMDeviceHandler::SuspendThread( PHMHANDLEDATA pHMHandleData)1502 DWORD HMDeviceHandler::SuspendThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData) 1503 1503 { 1504 1504 dprintf(("KERNEL32: ERROR: HandleManager::DeviceHandler::SuspendThread %08xh", 1505 1505 pHMHandleData->hHMHandle)); 1506 1506 1507 return ERROR_INVALID_HANDLE;1507 return -1; 1508 1508 } 1509 1509 /***************************************************************************** … … 1517 1517 * Author : SvL 1518 1518 *****************************************************************************/ 1519 BOOL HMDeviceHandler::SetThreadPriority( PHMHANDLEDATA pHMHandleData, int priority)1519 BOOL HMDeviceHandler::SetThreadPriority(HANDLE hThread, PHMHANDLEDATA pHMHandleData, int priority) 1520 1520 { 1521 1521 dprintf(("KERNEL32: ERROR: HandleManager::DeviceHandler::SetThreadPriority %08xh", 1522 1522 pHMHandleData->hHMHandle)); 1523 1523 1524 return ERROR_INVALID_HANDLE;1524 return FALSE; 1525 1525 } 1526 1526 /***************************************************************************** … … 1534 1534 * Author : SvL 1535 1535 *****************************************************************************/ 1536 BOOL HMDeviceHandler::GetThreadContext( PHMHANDLEDATA pHMHandleData, PCONTEXT lpContext)1536 BOOL HMDeviceHandler::GetThreadContext(HANDLE hThread, PHMHANDLEDATA pHMHandleData, PCONTEXT lpContext) 1537 1537 { 1538 1538 dprintf(("KERNEL32: ERROR: HandleManager::DeviceHandler::GetThreadContext %08xh", 1539 1539 pHMHandleData->hHMHandle)); 1540 1540 1541 return ERROR_INVALID_HANDLE;1541 return FALSE; 1542 1542 } 1543 1543 /***************************************************************************** … … 1551 1551 * Author : SvL 1552 1552 *****************************************************************************/ 1553 BOOL HMDeviceHandler::SetThreadContext( PHMHANDLEDATA pHMHandleData, const CONTEXT *lpContext)1553 BOOL HMDeviceHandler::SetThreadContext(HANDLE hThread, PHMHANDLEDATA pHMHandleData, const CONTEXT *lpContext) 1554 1554 { 1555 1555 dprintf(("KERNEL32: ERROR: HandleManager::DeviceHandler::SetThreadContext %08xh", 1556 1556 pHMHandleData->hHMHandle)); 1557 1557 1558 return ERROR_INVALID_HANDLE;1558 return FALSE; 1559 1559 } 1560 1560 /***************************************************************************** … … 1568 1568 * Author : SvL 1569 1569 *****************************************************************************/ 1570 BOOL HMDeviceHandler::TerminateThread( PHMHANDLEDATA pHMHandleData, DWORD exitcode)1570 BOOL HMDeviceHandler::TerminateThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData, DWORD exitcode) 1571 1571 { 1572 1572 dprintf(("KERNEL32: ERROR: HandleManager::DeviceHandler::TerminateThread %08xh", 1573 1573 pHMHandleData->hHMHandle)); 1574 1574 1575 return ERROR_INVALID_HANDLE;1575 return FALSE; 1576 1576 } 1577 1577 /***************************************************************************** … … 1585 1585 * Author : SvL 1586 1586 *****************************************************************************/ 1587 DWORD HMDeviceHandler::ResumeThread( PHMHANDLEDATA pHMHandleData)1587 DWORD HMDeviceHandler::ResumeThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData) 1588 1588 { 1589 1589 dprintf(("KERNEL32: ERROR: HandleManager::DeviceHandler::ResumeThread %08xh", 1590 1590 pHMHandleData->hHMHandle)); 1591 1591 1592 return ERROR_INVALID_HANDLE;1592 return -1; 1593 1593 } 1594 1594 /***************************************************************************** … … 1602 1602 * Author : SvL 1603 1603 *****************************************************************************/ 1604 BOOL HMDeviceHandler::GetExitCodeThread( PHMHANDLEDATA pHMHandleData, LPDWORD lpExitCode)1604 BOOL HMDeviceHandler::GetExitCodeThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData, LPDWORD lpExitCode) 1605 1605 { 1606 1606 dprintf(("KERNEL32: ERROR: HandleManager::DeviceHandler::GetExitCodeThread %08xh", 1607 1607 pHMHandleData->hHMHandle)); 1608 1608 1609 return ERROR_INVALID_HANDLE;1609 return FALSE; 1610 1610 } 1611 1611 /***************************************************************************** … … 1619 1619 * Author : SvL 1620 1620 *****************************************************************************/ 1621 BOOL HMDeviceHandler::SetThreadTerminated( PHMHANDLEDATA pHMHandleData)1621 BOOL HMDeviceHandler::SetThreadTerminated(HANDLE hThread, PHMHANDLEDATA pHMHandleData) 1622 1622 { 1623 1623 return FALSE; -
trunk/src/kernel32/hmdevice.h
r7457 r7532 1 /* $Id: hmdevice.h,v 1.3 0 2001-11-26 14:54:00sandervl Exp $ */1 /* $Id: hmdevice.h,v 1.31 2001-12-03 12:13:08 sandervl Exp $ */ 2 2 3 3 /* … … 399 399 BOOL fFirstThread); 400 400 401 virtual INT GetThreadPriority( PHMHANDLEDATA pHMHandleData);402 virtual DWORD SuspendThread( PHMHANDLEDATA pHMHandleData);403 virtual BOOL SetThreadPriority( PHMHANDLEDATA pHMHandleData, int priority);404 405 virtual BOOL GetThreadContext( PHMHANDLEDATA pHMHandleData, PCONTEXT lpContext);406 virtual BOOL SetThreadContext( PHMHANDLEDATA pHMHandleData, const CONTEXT *lpContext);407 408 virtual BOOL TerminateThread( PHMHANDLEDATA pHMHandleData, DWORD exitcode);409 virtual DWORD ResumeThread( PHMHANDLEDATA pHMHandleData);410 virtual BOOL SetThreadTerminated( PHMHANDLEDATA pHMHandleData);411 412 virtual BOOL GetExitCodeThread( PHMHANDLEDATA pHMHandleData, LPDWORD lpExitCode);401 virtual INT GetThreadPriority(HANDLE hThread, PHMHANDLEDATA pHMHandleData); 402 virtual DWORD SuspendThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData); 403 virtual BOOL SetThreadPriority(HANDLE hThread, PHMHANDLEDATA pHMHandleData, int priority); 404 405 virtual BOOL GetThreadContext(HANDLE hThread, PHMHANDLEDATA pHMHandleData, PCONTEXT lpContext); 406 virtual BOOL SetThreadContext(HANDLE hThread, PHMHANDLEDATA pHMHandleData, const CONTEXT *lpContext); 407 408 virtual BOOL TerminateThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData, DWORD exitcode); 409 virtual DWORD ResumeThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData); 410 virtual BOOL SetThreadTerminated(HANDLE hThread, PHMHANDLEDATA pHMHandleData); 411 412 virtual BOOL GetExitCodeThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData, LPDWORD lpExitCode); 413 413 414 414 /* Named pipes */ -
trunk/src/kernel32/hmthread.cpp
r5920 r7532 1 /* $Id: hmthread.cpp,v 1. 8 2001-06-06 18:59:57 phallerExp $ */1 /* $Id: hmthread.cpp,v 1.9 2001-12-03 12:13:08 sandervl Exp $ */ 2 2 3 3 /* … … 21 21 #include <string.h> 22 22 #include <misc.h> 23 #include <wprocess.h> 23 24 24 25 #include <HandleManager.H> 25 26 #include "HMThread.h" 27 #include "oslibdos.h" 26 28 27 29 #include <win\thread.h> … … 61 63 winthread = new Win32Thread(lpStartAddr, lpvThreadParm, fdwCreate, pHMHandleData->hHMHandle); 62 64 63 if(winthread == 0) 64 return(0); 65 65 if(winthread == 0) { 66 SetLastError(ERROR_NOT_ENOUGH_MEMORY); 67 return(0); 68 } 66 69 // @@@PH Note: with debug code enabled, ODIN might request more stack space! 67 70 //SvL: Also need more stack in release build (RealPlayer 7 sometimes runs … … 85 88 //****************************************************************************** 86 89 //****************************************************************************** 87 INT HMDeviceThreadClass::GetThreadPriority(PHMHANDLEDATA pHMHandleData) 88 { 90 DWORD HMDeviceThreadClass::SuspendThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData) 91 { 92 dprintf(("SuspendThread %08xh)\n", pHMHandleData->hHMHandle)); 93 94 return O32_SuspendThread(pHMHandleData->hHMHandle); 95 } 96 //****************************************************************************** 97 //****************************************************************************** 98 INT HMDeviceThreadClass::GetThreadPriority(HANDLE hThread, PHMHANDLEDATA pHMHandleData) 99 { 100 TEB *teb; 101 89 102 dprintf(("GetThreadPriority(%08xh)\n", pHMHandleData->hHMHandle)); 90 103 91 return O32_GetThreadPriority(pHMHandleData->hHMHandle); 92 } 93 //****************************************************************************** 94 //****************************************************************************** 95 DWORD HMDeviceThreadClass::SuspendThread(PHMHANDLEDATA pHMHandleData) 96 { 97 dprintf(("SuspendThread %08xh)\n", pHMHandleData->hHMHandle)); 98 99 return O32_SuspendThread(pHMHandleData->hHMHandle); 100 } 101 //****************************************************************************** 102 //****************************************************************************** 103 BOOL HMDeviceThreadClass::SetThreadPriority(PHMHANDLEDATA pHMHandleData, int priority) 104 { 105 dprintf(("SetThreadPriority (%08xh,%08xh)\n", 106 pHMHandleData->hHMHandle, 107 priority)); 108 109 return O32_SetThreadPriority(pHMHandleData->hHMHandle, priority); 104 teb = GetTEBFromThreadHandle(hThread); 105 if(teb == NULL) { 106 dprintf(("!WARNING!: TEB not found!!")); 107 SetLastError(ERROR_INVALID_HANDLE); 108 return THREAD_PRIORITY_ERROR_RETURN; 109 } 110 return teb->delta_priority; 111 } 112 //****************************************************************************** 113 //****************************************************************************** 114 BOOL HMDeviceThreadClass::SetThreadPriority(HANDLE hThread, PHMHANDLEDATA pHMHandleData, int priority) 115 { 116 TEB *teb; 117 118 dprintf(("SetThreadPriority (%08xh,%08xh)", pHMHandleData->hHMHandle, priority)); 119 120 teb = GetTEBFromThreadHandle(hThread); 121 if(teb == NULL) { 122 dprintf(("!WARNING!: TEB not found!!")); 123 SetLastError(ERROR_INVALID_HANDLE); 124 return THREAD_PRIORITY_ERROR_RETURN; 125 } 126 DWORD ret = OSLibDosSetPriority(teb->o.odin.threadId, priority); 127 if(ret == ERROR_SUCCESS) { 128 teb->delta_priority = priority; 129 return TRUE; 130 } 131 else { 132 dprintf(("DosSetPriority failed with rc %d", ret)); 133 return FALSE; 134 } 110 135 } 111 136 //****************************************************************************** 112 137 //TODO: Implement this?? 113 138 //****************************************************************************** 114 BOOL HMDeviceThreadClass::GetThreadContext( PHMHANDLEDATA pHMHandleData, PCONTEXT lpContext)139 BOOL HMDeviceThreadClass::GetThreadContext(HANDLE hThread, PHMHANDLEDATA pHMHandleData, PCONTEXT lpContext) 115 140 { 116 141 dprintf(("GetThreadContext NOT IMPLEMENTED!! (TRUE)\n")); … … 130 155 //TODO: Implement this?? 131 156 //****************************************************************************** 132 BOOL HMDeviceThreadClass::SetThreadContext( PHMHANDLEDATA pHMHandleData, const CONTEXT *lpContext)157 BOOL HMDeviceThreadClass::SetThreadContext(HANDLE hThread, PHMHANDLEDATA pHMHandleData, const CONTEXT *lpContext) 133 158 { 134 159 dprintf(("SetThreadContext NOT IMPLEMENTED!!\n")); … … 138 163 //****************************************************************************** 139 164 //****************************************************************************** 140 BOOL HMDeviceThreadClass::TerminateThread( PHMHANDLEDATA pHMHandleData, DWORD exitcode)165 BOOL HMDeviceThreadClass::TerminateThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData, DWORD exitcode) 141 166 { 142 167 dprintf(("TerminateThread (%08xh,%08xh)\n", … … 149 174 //****************************************************************************** 150 175 //****************************************************************************** 151 BOOL HMDeviceThreadClass::SetThreadTerminated( PHMHANDLEDATA pHMHandleData)176 BOOL HMDeviceThreadClass::SetThreadTerminated(HANDLE hThread, PHMHANDLEDATA pHMHandleData) 152 177 { 153 178 pHMHandleData->dwUserData = THREAD_TERMINATED; … … 156 181 //****************************************************************************** 157 182 //****************************************************************************** 158 DWORD HMDeviceThreadClass::ResumeThread( PHMHANDLEDATA pHMHandleData)183 DWORD HMDeviceThreadClass::ResumeThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData) 159 184 { 160 185 dprintf(("ResumeThread (%08xh)\n", … … 165 190 //****************************************************************************** 166 191 //****************************************************************************** 167 BOOL HMDeviceThreadClass::GetExitCodeThread( PHMHANDLEDATA pHMHandleData, LPDWORD lpExitCode)192 BOOL HMDeviceThreadClass::GetExitCodeThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData, LPDWORD lpExitCode) 168 193 { 169 194 dprintf(("GetExitCodeThread (%08xh,%08xh)\n", -
trunk/src/kernel32/hmthread.h
r5587 r7532 1 /* $Id: hmthread.h,v 1. 3 2001-04-26 13:22:47sandervl Exp $ */1 /* $Id: hmthread.h,v 1.4 2001-12-03 12:13:09 sandervl Exp $ */ 2 2 3 3 /* … … 34 34 35 35 /* this is a handler method for calls to WaitForSingleObject */ 36 virtual DWORD WaitForSingleObject(PHMHANDLEDATA pHMHandleData,37 DWORD dwTimeout);36 virtual DWORD WaitForSingleObject(PHMHANDLEDATA pHMHandleData, 37 DWORD dwTimeout); 38 38 39 39 /* this is a handler method for calls to WaitForSingleObjectEx */ 40 virtual DWORD WaitForSingleObjectEx(PHMHANDLEDATA pHMHandleData,41 DWORD dwTimeout,42 BOOL fAlertable);40 virtual DWORD WaitForSingleObjectEx(PHMHANDLEDATA pHMHandleData, 41 DWORD dwTimeout, 42 BOOL fAlertable); 43 43 44 virtual INT GetThreadPriority( PHMHANDLEDATA pHMHandleData);45 virtual DWORD SuspendThread( PHMHANDLEDATA pHMHandleData);46 virtual BOOL SetThreadPriority( PHMHANDLEDATA pHMHandleData, int priority);44 virtual INT GetThreadPriority(HANDLE hThread, PHMHANDLEDATA pHMHandleData); 45 virtual DWORD SuspendThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData); 46 virtual BOOL SetThreadPriority(HANDLE hThread, PHMHANDLEDATA pHMHandleData, int priority); 47 47 48 virtual BOOL GetThreadContext( PHMHANDLEDATA pHMHandleData, PCONTEXT lpContext);49 virtual BOOL SetThreadContext( PHMHANDLEDATA pHMHandleData, const CONTEXT *lpContext);48 virtual BOOL GetThreadContext(HANDLE hThread, PHMHANDLEDATA pHMHandleData, PCONTEXT lpContext); 49 virtual BOOL SetThreadContext(HANDLE hThread, PHMHANDLEDATA pHMHandleData, const CONTEXT *lpContext); 50 50 51 virtual BOOL TerminateThread( PHMHANDLEDATA pHMHandleData, DWORD exitcode);52 virtual DWORD ResumeThread( PHMHANDLEDATA pHMHandleData);53 virtual BOOL GetExitCodeThread( PHMHANDLEDATA pHMHandleData, LPDWORD lpExitCode);54 virtual BOOL SetThreadTerminated( PHMHANDLEDATA pHMHandleData);51 virtual BOOL TerminateThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData, DWORD exitcode); 52 virtual DWORD ResumeThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData); 53 virtual BOOL GetExitCodeThread(HANDLE hThread, PHMHANDLEDATA pHMHandleData, LPDWORD lpExitCode); 54 virtual BOOL SetThreadTerminated(HANDLE hThread, PHMHANDLEDATA pHMHandleData); 55 55 56 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData);56 virtual BOOL CloseHandle(PHMHANDLEDATA pHMHandleData); 57 57 }; 58 58 -
trunk/src/kernel32/oslibdos.cpp
r7489 r7532 1 /* $Id: oslibdos.cpp,v 1.8 8 2001-11-29 13:38:51sandervl Exp $ */1 /* $Id: oslibdos.cpp,v 1.89 2001-12-03 12:13:09 sandervl Exp $ */ 2 2 /* 3 3 * Wrappers for OS/2 Dos* API … … 2899 2899 //****************************************************************************** 2900 2900 //****************************************************************************** 2901 DWORD OSLibDosSetPriority(ULONG tid, int priority) 2902 { 2903 DWORD ret, os2priorityclass; 2904 LONG os2prioritydelta; 2905 APIRET rc; 2906 2907 switch(priority) 2908 { 2909 case THREAD_PRIORITY_IDLE_W: 2910 os2priorityclass = PRTYC_IDLETIME; 2911 os2prioritydelta = 0; 2912 break; 2913 case THREAD_PRIORITY_LOWEST_W: 2914 os2priorityclass = PRTYC_REGULAR; 2915 os2prioritydelta = PRTYD_MINIMUM; 2916 break; 2917 case THREAD_PRIORITY_BELOW_NORMAL_W: 2918 os2priorityclass = PRTYC_REGULAR; 2919 os2prioritydelta = -15; 2920 break; 2921 case THREAD_PRIORITY_NORMAL_W: 2922 os2priorityclass = PRTYC_REGULAR; 2923 os2prioritydelta = 0; 2924 break; 2925 case THREAD_PRIORITY_ABOVE_NORMAL_W: 2926 os2priorityclass = PRTYC_REGULAR; 2927 os2prioritydelta = 15; 2928 break; 2929 case THREAD_PRIORITY_HIGHEST_W: 2930 os2priorityclass = PRTYC_REGULAR; 2931 os2prioritydelta = PRTYD_MAXIMUM; 2932 break; 2933 case THREAD_PRIORITY_TIME_CRITICAL_W: 2934 os2priorityclass = PRTYC_TIMECRITICAL; 2935 os2prioritydelta = 0; 2936 break; 2937 default: 2938 dprintf(("!WARNING!: Invalid priority!!")); 2939 SetLastError(ERROR_INVALID_PARAMETER_W); 2940 return ERROR_INVALID_PARAMETER_W; 2941 } 2942 rc = DosSetPriority(PRTYS_THREAD, os2priorityclass, os2prioritydelta, tid); 2943 ret = error2WinError(rc, ERROR_INVALID_PARAMETER); 2944 SetLastError(ret); 2945 return ret; 2946 } 2947 //****************************************************************************** 2948 //****************************************************************************** 2949 void OSLibDosSleep(ULONG msecs) 2950 { 2951 DosSleep(msecs); 2952 } 2953 //****************************************************************************** 2954 //****************************************************************************** 2901 2955 DWORD OSLibDosDevConfig(PVOID pdevinfo, 2902 2956 ULONG item) … … 2904 2958 return (DWORD)DosDevConfig(pdevinfo, item); 2905 2959 } 2960 //****************************************************************************** 2961 //****************************************************************************** -
trunk/src/kernel32/oslibdos.h
r7482 r7532 1 /* $Id: oslibdos.h,v 1.4 0 2001-11-29 10:53:28 phallerExp $ */1 /* $Id: oslibdos.h,v 1.41 2001-12-03 12:13:09 sandervl Exp $ */ 2 2 3 3 /* … … 359 359 360 360 DWORD OSLibDosDevConfig(PVOID pdevinfo, ULONG item); 361 void OSLibDosSleep(ULONG msecs); 362 363 DWORD OSLibDosSetPriority(ULONG tid, int priority); 361 364 362 365 #endif //__OSLIBDOS_H__ -
trunk/src/kernel32/thread.cpp
r7519 r7532 1 /* $Id: thread.cpp,v 1.3 7 2001-12-01 20:41:37sandervl Exp $ */1 /* $Id: thread.cpp,v 1.38 2001-12-03 12:13:10 sandervl Exp $ */ 2 2 3 3 /* … … 39 39 ODINDEBUGCHANNEL(KERNEL32-THREAD) 40 40 41 42 // The function GetThreadTEB() is defined in wprocess.cpp 43 // This macro is for performance improvement only. 44 // DWORD TIBFlatPtr is exported from wprocess.cpp 45 #define GetThreadTEB() (TIBFlatPtr) ? ((TEB *)*TIBFlatPtr) : 0 46 41 static ULONG priorityclass = NORMAL_PRIORITY_CLASS; 47 42 48 43 //****************************************************************************** … … 74 69 return teb->o.odin.hThread; 75 70 } 76 71 //****************************************************************************** 77 72 // these two debugging functions allow access to a 78 73 // calldepth counter inside the TEB block of each thread 74 //****************************************************************************** 79 75 ULONG WIN32API dbg_GetThreadCallDepth() 80 76 { … … 91 87 #endif 92 88 } 93 94 89 //****************************************************************************** 90 //****************************************************************************** 95 91 void WIN32API dbg_IncThreadCallDepth() 96 92 { … … 103 99 #endif 104 100 } 105 106 101 //****************************************************************************** 107 102 #define MAX_CALLSTACK_SIZE 128 103 //****************************************************************************** 108 104 void WIN32API dbg_ThreadPushCall(char *pszCaller) 109 105 { … … 130 126 #endif 131 127 } 132 133 128 //****************************************************************************** 129 //****************************************************************************** 134 130 void WIN32API dbg_DecThreadCallDepth() 135 131 { … … 142 138 #endif 143 139 } 144 145 140 //****************************************************************************** 141 //****************************************************************************** 146 142 void WIN32API dbg_ThreadPopCall() 147 143 { … … 165 161 #endif 166 162 } 167 163 //****************************************************************************** 164 //****************************************************************************** 168 165 char* WIN32API dbg_GetLastCallerName() 169 166 { … … 187 184 return NULL; 188 185 } 189 190 191 186 //****************************************************************************** 192 187 //****************************************************************************** … … 247 242 //****************************************************************************** 248 243 //****************************************************************************** 244 VOID WIN32API Sleep(DWORD mSecs) 245 { 246 dprintf2(("KERNEL32: Sleep %d", mSecs)); 247 OSLibDosSleep(mSecs); 248 } 249 //****************************************************************************** 250 //****************************************************************************** 251 DWORD WIN32API GetPriorityClass(HANDLE hProcess) 252 { 253 dprintf(("KERNEL32: GetPriorityClass %x", hProcess)); 254 return priorityclass; 255 // return O32_GetPriorityClass(hProcess); 256 } 257 //****************************************************************************** 258 //****************************************************************************** 259 BOOL WIN32API SetPriorityClass(HANDLE hProcess, DWORD dwPriority) 260 { 261 dprintf(("KERNEL32: SetPriorityClass %x %x", hProcess, dwPriority)); 262 priorityclass = dwPriority; 263 return TRUE; 264 // return O32_SetPriorityClass(hProcess, dwPriority); 265 } 266 //****************************************************************************** 267 //****************************************************************************** 249 268 Win32Thread::Win32Thread(LPTHREAD_START_ROUTINE pUserCallback, LPVOID lpData, DWORD dwFlags, HANDLE hThread) 250 269 { -
trunk/src/kernel32/wprocess.cpp
r7519 r7532 1 /* $Id: wprocess.cpp,v 1.13 8 2001-12-01 20:41:38sandervl Exp $ */1 /* $Id: wprocess.cpp,v 1.139 2001-12-03 12:13:10 sandervl Exp $ */ 2 2 3 3 /* … … 183 183 winteb->tls_ptr = &winteb->tls_array[0]; /* 2c Pointer to TLS array */ 184 184 winteb->process = &ProcessPDB; /* 30 owning process (used by NT3.51 applets)*/ 185 185 186 winteb->delta_priority = THREAD_PRIORITY_NORMAL; 186 187 winteb->process = &ProcessPDB; 187 188 //// winteb->exit_code = 0x103; /* STILL_ACTIVE */ … … 1935 1936 else return O32_WaitForInputIdle(hProcess, dwTimeOut); 1936 1937 } 1937 //******************************************************************************1938 //******************************************************************************1939 VOID WIN32API Sleep(DWORD arg1)1940 {1941 dprintf2(("KERNEL32: Sleep %d\n", arg1));1942 O32_Sleep(arg1);1943 }1944 //******************************************************************************1945 //******************************************************************************1946 DWORD WIN32API GetPriorityClass(HANDLE hProcess)1947 {1948 dprintf(("KERNEL32: GetPriorityClass %x", hProcess));1949 return O32_GetPriorityClass(hProcess);1950 }1951 //******************************************************************************1952 //******************************************************************************1953 BOOL WIN32API SetPriorityClass(HANDLE hProcess, DWORD dwPriority)1954 {1955 dprintf(("KERNEL32: SetPriorityClass %x %x", hProcess, dwPriority));1956 return O32_SetPriorityClass(hProcess, dwPriority);1957 }1958 1938 /********************************************************************** 1959 1939 * LoadModule (KERNEL32.499)
Note:
See TracChangeset
for help on using the changeset viewer.