Changeset 25710 in vbox for trunk/src/VBox/Runtime/common/misc
- Timestamp:
- Jan 11, 2010 10:46:24 AM (15 years ago)
- svn:sync-xref-src-repo-rev:
- 56447
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/misc/lockvalidator.cpp
r25707 r25710 3046 3046 return VINF_SUCCESS; 3047 3047 AssertReturn(pRecU->Excl.hThread != NIL_RTTHREAD, VERR_SEM_LV_INVALID_PARAMETER); 3048 Assert(pRecU->Excl.hThread == RTThreadSelf()); 3048 3049 AssertReturn(pRecU->Excl.cRecursion > 1, VERR_SEM_LV_INVALID_PARAMETER); 3049 3050 3051 /* 3052 * Check the release order. 3053 */ 3054 if ( pRecU->Excl.hClass != NIL_RTLOCKVALCLASS 3055 && pRecU->Excl.hClass->fStrictReleaseOrder 3056 && pRecU->Excl.hClass->cMsMinOrder != RT_INDEFINITE_WAIT 3057 ) 3058 { 3059 int rc = rtLockValidatorStackCheckReleaseOrder(pRecU->Excl.hThread, pRecU); 3060 if (RT_FAILURE(rc)) 3061 return rc; 3062 } 3063 3064 /* 3065 * Perform the unwind. 3066 */ 3050 3067 pRecU->Excl.cRecursion--; 3051 3068 rtLockValidatorStackPopRecursion(pRecU->Excl.hThread, pRecU); … … 3064 3081 if (!pRecU->Excl.fEnabled) 3065 3082 return VINF_SUCCESS; 3083 Assert(pRecU->Excl.hThread == RTThreadSelf()); 3066 3084 AssertReturn(pRecU->Excl.hThread != NIL_RTTHREAD, VERR_SEM_LV_INVALID_PARAMETER); 3067 3085 AssertReturn(pRecU->Excl.cRecursion > 0, VERR_SEM_LV_INVALID_PARAMETER); … … 3094 3112 if (!pRecU->Excl.fEnabled) 3095 3113 return VINF_SUCCESS; 3114 Assert(pRecU->Excl.hThread == RTThreadSelf()); 3096 3115 AssertReturn(pRecU->Excl.hThread != NIL_RTTHREAD, VERR_SEM_LV_INVALID_PARAMETER); 3097 3116 AssertReturn(pRecU->Excl.cRecursion > 1, VERR_SEM_LV_INVALID_PARAMETER); 3098 3117 3118 /* 3119 * Check the release order. 3120 */ 3121 if ( pRecU->Excl.hClass != NIL_RTLOCKVALCLASS 3122 && pRecU->Excl.hClass->fStrictReleaseOrder 3123 && pRecU->Excl.hClass->cMsMinOrder != RT_INDEFINITE_WAIT 3124 ) 3125 { 3126 int rc = rtLockValidatorStackCheckReleaseOrder(pRecU->Excl.hThread, pRecU); 3127 if (RT_FAILURE(rc)) 3128 return rc; 3129 } 3130 3131 /* 3132 * Perform the unwind. 3133 */ 3099 3134 pRecU->Excl.cRecursion--; 3100 3135 rtLockValidatorStackPopRecursion(pRecU->Excl.hThread, pRecU);
Note:
See TracChangeset
for help on using the changeset viewer.