- Timestamp:
- Jan 20, 2007 1:22:45 AM (18 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 1 deleted
- 8 edited
-
include/iprt/timer.h (modified) (3 diffs)
-
src/VBox/Runtime/Makefile (modified) (1 diff)
-
src/VBox/Runtime/generic/timer-generic.cpp (added)
-
src/VBox/Runtime/include/internal/thread.h (modified) (2 diffs)
-
src/VBox/Runtime/r0drv/darwin/thread-r0drv-darwin.cpp (modified) (2 diffs)
-
src/VBox/Runtime/r0drv/generic (added)
-
src/VBox/Runtime/r0drv/memobj-r0drv.cpp (modified) (4 diffs)
-
src/VBox/Runtime/r0drv/thread-r0drv.cpp (modified) (1 diff)
-
src/VBox/Runtime/r0drv/thread-r0drv.h (deleted)
-
src/VBox/Runtime/r3/posix/timer-posix.cpp (modified) (2 diffs)
-
src/VBox/Runtime/r3/win32/timer-win32.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/timer.h
r1 r197 110 110 * 111 111 * @returns iprt status code. 112 * @param pTimer Timer to stop and destroy. 112 * @param pTimer Timer to stop and destroy. NULL is ok. 113 113 */ 114 114 RTDECL(int) RTTimerDestroy(PRTTIMER pTimer); … … 118 118 * 119 119 * @returns IPRT status code. 120 * @retval VERR_INVALID_ POINTERif pTimer isn't valid.120 * @retval VERR_INVALID_HANDLE if pTimer isn't valid. 121 121 * @retval VERR_TIMER_ACTIVE if the timer isn't suspended. 122 122 * … … 132 132 * 133 133 * @returns IPRT status code. 134 * @retval VERR_INVALID_ POINTERif pTimer isn't valid.134 * @retval VERR_INVALID_HANDLE if pTimer isn't valid. 135 135 * @retval VERR_TIMER_SUSPENDED if the timer isn't active. 136 136 * @retval VERR_NOT_SUPPORTED if the IPRT implementation doesn't support stopping a timer. -
trunk/src/VBox/Runtime/Makefile
r194 r197 572 572 r0drv/darwin/thread-r0drv-darwin.cpp \ 573 573 r0drv/darwin/time-r0drv-darwin.cpp \ 574 generic/timer-generic.cpp \ 574 575 575 576 RuntimeR0Drv_SOURCES.os2 = \ -
trunk/src/VBox/Runtime/include/internal/thread.h
r1 r197 25 25 #include <iprt/types.h> 26 26 #include <iprt/thread.h> 27 #include <iprt/process.h> 28 #include <iprt/critsect.h> 29 #include <iprt/avl.h> 30 27 #ifdef IN_RING3 28 # include <iprt/process.h> 29 # include <iprt/critsect.h> 30 # include <iprt/avl.h> 31 #endif 31 32 32 33 __BEGIN_DECLS 34 33 35 34 36 #ifdef IN_RING3 … … 212 214 void rtThreadUnblocked(PRTTHREADINT pThread, RTTHREADSTATE enmCurState); 213 215 214 #endif /* IN_RING3 */ 216 217 #elif defined(IN_RING0) 218 219 /** 220 * Argument package for a ring-0 thread. 221 */ 222 typedef struct RTR0THREADARGS 223 { 224 /** The thread function. */ 225 PFNRTTHREAD pfnThread; 226 /** The thread function argument. */ 227 void *pvUser; 228 /** The thread type. */ 229 RTTHREADTYPE enmType; 230 } RTR0THREADARGS, *PRTR0THREADARGS; 231 232 233 234 int rtThreadMain(PRTR0THREADARGS pArgs, RTNATIVETHREAD NativeThread); 235 236 /** 237 * Do the actual thread creation. 238 * 239 * @returns IPRT status code. 240 * On failure, no thread has been created. 241 * @param pArgs The argument package. 242 * @param pNativeThread Where to return the native thread handle. 243 */ 244 int rtThreadNativeCreate(PRTR0THREADARGS pArgs, PRTNATIVETHREAD pNativeThread); 245 246 /** 247 * Do the actual thread priority change. 248 * 249 * @returns IPRT status code. 250 * @param Thread The thread which priority should be changed. 251 * This is currently restricted to the current thread. 252 * @param enmType The new thread priority type (valid). 253 */ 254 int rtThreadNativeSetPriority(RTTHREAD Thread, RTTHREADTYPE enmType); 255 256 #endif /* !IN_RING0 */ 215 257 216 258 __END_DECLS -
trunk/src/VBox/Runtime/r0drv/darwin/thread-r0drv-darwin.cpp
r1 r197 27 27 #include <iprt/err.h> 28 28 #include <iprt/assert.h> 29 #include " r0drv/thread-r0drv.h"29 #include "internal/thread.h" 30 30 31 31 … … 139 139 const thread_t Self = current_thread(); 140 140 141 rtThreadMain(( RTNATIVETHREAD)Self, (PRTR0THREADARGS)pvArg);141 rtThreadMain((PRTR0THREADARGS)pvArg, (RTNATIVETHREAD)Self); 142 142 143 143 kern_return_t rc = thread_terminate(Self); -
trunk/src/VBox/Runtime/r0drv/memobj-r0drv.cpp
r1 r197 532 532 * @returns IPRT status code. 533 533 * @param pMemObj Where to store the ring-0 memory object handle of the mapping object. 534 * @param Mem ToMapThe object to be map.534 * @param MemObjToMap The object to be map. 535 535 * @param pvFixed Requested address. (void *)-1 means any address. This must match the alignment. 536 536 * @param uAlignment The alignment of the reserved memory. … … 538 538 * @param fProt Combination of RTMEM_PROT_* flags (except RTMEM_PROT_NONE). 539 539 */ 540 RTR0DECL(int) RTR0MemObjMapKernel(PRTR0MEMOBJ pMemObj, PRTR0MEMOBJ Mem ToMap, void *pvFixed, size_t uAlignment, unsigned fProt)541 { 542 /* sanity checks. */ 543 AssertPtrReturn(pMemObj, VERR_INVALID_POINTER); 544 *pMemObj = NIL_RTR0MEMOBJ; 545 AssertPtrReturn(Mem ToMap, VERR_INVALID_HANDLE);546 PRTR0MEMOBJINTERNAL pMemToMap = (PRTR0MEMOBJINTERNAL) pMemToMap;540 RTR0DECL(int) RTR0MemObjMapKernel(PRTR0MEMOBJ pMemObj, PRTR0MEMOBJ MemObjToMap, void *pvFixed, size_t uAlignment, unsigned fProt) 541 { 542 /* sanity checks. */ 543 AssertPtrReturn(pMemObj, VERR_INVALID_POINTER); 544 *pMemObj = NIL_RTR0MEMOBJ; 545 AssertPtrReturn(MemObjToMap, VERR_INVALID_HANDLE); 546 PRTR0MEMOBJINTERNAL pMemToMap = (PRTR0MEMOBJINTERNAL)MemObjToMap; 547 547 AssertReturn(pMemToMap->u32Magic == RTR0MEMOBJ_MAGIC, VERR_INVALID_HANDLE); 548 548 AssertReturn(pMemToMap->enmType > RTR0MEMOBJTYPE_INVALID && pMemToMap->enmType < RTR0MEMOBJTYPE_END, VERR_INVALID_HANDLE); … … 587 587 * @returns IPRT status code. 588 588 * @param pMemObj Where to store the ring-0 memory object handle of the mapping object. 589 * @param Mem ToMapThe object to be map.589 * @param MemObjToMap The object to be map. 590 590 * @param pvFixed Requested address. (void *)-1 means any address. This must match the alignment. 591 591 * @param uAlignment The alignment of the reserved memory. … … 593 593 * @param fProt Combination of RTMEM_PROT_* flags (except RTMEM_PROT_NONE). 594 594 */ 595 RTR0DECL(int) RTR0MemObjMapUser(PRTR0MEMOBJ pMemObj, PRTR0MEMOBJ MemToMap, void *pvFixed, size_t uAlignment, unsigned fProt)596 { 597 /* sanity checks. */ 598 AssertPtrReturn(pMemObj, VERR_INVALID_POINTER); 599 *pMemObj = NIL_RTR0MEMOBJ; 600 AssertPtrReturn(Mem ToMap, VERR_INVALID_HANDLE);601 PRTR0MEMOBJINTERNAL pMemToMap = (PRTR0MEMOBJINTERNAL) pMemToMap;595 RTR0DECL(int) RTR0MemObjMapUser(PRTR0MEMOBJ pMemObj, RTR0MEMOBJ MemObjToMap, void *pvFixed, size_t uAlignment, unsigned fProt) 596 { 597 /* sanity checks. */ 598 AssertPtrReturn(pMemObj, VERR_INVALID_POINTER); 599 *pMemObj = NIL_RTR0MEMOBJ; 600 AssertPtrReturn(MemObjToMap, VERR_INVALID_HANDLE); 601 PRTR0MEMOBJINTERNAL pMemToMap = (PRTR0MEMOBJINTERNAL)MemObjToMap; 602 602 AssertReturn(pMemToMap->u32Magic == RTR0MEMOBJ_MAGIC, VERR_INVALID_HANDLE); 603 603 AssertReturn(pMemToMap->enmType > RTR0MEMOBJTYPE_INVALID && pMemToMap->enmType < RTR0MEMOBJTYPE_END, VERR_INVALID_HANDLE); -
trunk/src/VBox/Runtime/r0drv/thread-r0drv.cpp
r1 r197 24 24 *******************************************************************************/ 25 25 #define LOG_GROUP RTLOGGROUP_THREAD 26 #include " r0drv/thread-r0drv.h"26 #include "internal/thread.h" 27 27 #include <iprt/thread.h> 28 28 #include <iprt/alloc.h> -
trunk/src/VBox/Runtime/r3/posix/timer-posix.cpp
r1 r197 319 319 LogFlow(("RTTimerDestroy: pTimer=%p\n", pTimer)); 320 320 321 /* NULL is ok. */ 322 if (!pTimer) 323 return VINF_SUCCESS; 324 321 325 /* 322 326 * Validate input. 323 327 */ 324 328 int rc = VINF_SUCCESS; 325 if ( pTimer)329 if (VALID_PTR(pTimer)) 326 330 { 327 331 /* … … 354 358 else 355 359 { 356 AssertMsgFailed((" An attempt was made to destroy a NULL timer!\n"));357 rc = VERR_INVALID_ POINTER;360 AssertMsgFailed(("Bad pTimer pointer %p!\n", pTimer)); 361 rc = VERR_INVALID_HANDLE; 358 362 } 359 363 return rc; -
trunk/src/VBox/Runtime/r3/win32/timer-win32.cpp
r1 r197 412 412 RTR3DECL(int) RTTimerDestroy(PRTTIMER pTimer) 413 413 { 414 /* NULL is ok. */ 415 if (!pTimer) 416 return VINF_SUCCESS; 417 414 418 /* 415 419 * Validate handle first. 416 420 */ 417 421 int rc; 418 if (pTimer && pTimer->u32Magic == RTTIMER_MAGIC) 422 if ( VALID_PTR(pTimer) 423 && pTimer->u32Magic == RTTIMER_MAGIC) 419 424 { 420 425 #ifdef USE_WINMM
Note:
See TracChangeset
for help on using the changeset viewer.

