Changeset 98297 in vbox for trunk/src/VBox/Main/glue/EventQueue.cpp
- Timestamp:
- Jan 25, 2023 1:59:25 AM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 155502
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Main/glue/EventQueue.cpp
r98103 r98297 49 49 mShutdown(false) 50 50 { 51 int rc = RTCritSectInit(&mCritSect);52 AssertRC( rc);53 54 rc = RTSemEventCreate(&mSemEvent);55 AssertRC( rc);51 int vrc = RTCritSectInit(&mCritSect); 52 AssertRC(vrc); 53 54 vrc = RTSemEventCreate(&mSemEvent); 55 AssertRC(vrc); 56 56 } 57 57 58 58 EventQueue::~EventQueue(void) 59 59 { 60 int rc = RTCritSectDelete(&mCritSect);61 AssertRC( rc);62 63 rc = RTSemEventDestroy(mSemEvent);64 AssertRC( rc);60 int vrc = RTCritSectDelete(&mCritSect); 61 AssertRC(vrc); 62 63 vrc = RTSemEventDestroy(mSemEvent); 64 AssertRC(vrc); 65 65 66 66 EventQueueListIterator it = mEvents.begin(); … … 98 98 { 99 99 size_t cNumEvents; 100 int rc = RTCritSectEnter(&mCritSect);101 if (RT_SUCCESS( rc))100 int vrc = RTCritSectEnter(&mCritSect); 101 if (RT_SUCCESS(vrc)) 102 102 { 103 103 if (mUserCnt == 0) /* No concurrent access allowed. */ … … 108 108 if (!cNumEvents) 109 109 { 110 int rc2 = RTCritSectLeave(&mCritSect);111 AssertRC( rc2);112 113 rc = RTSemEventWaitNoResume(mSemEvent, cMsTimeout);114 115 rc2 = RTCritSectEnter(&mCritSect);116 AssertRC( rc2);117 118 if (RT_SUCCESS( rc))110 int vrc2 = RTCritSectLeave(&mCritSect); 111 AssertRC(vrc2); 112 113 vrc = RTSemEventWaitNoResume(mSemEvent, cMsTimeout); 114 115 vrc2 = RTCritSectEnter(&mCritSect); 116 AssertRC(vrc2); 117 118 if (RT_SUCCESS(vrc)) 119 119 { 120 120 if (mShutdown) 121 rc = VERR_INTERRUPTED;121 vrc = VERR_INTERRUPTED; 122 122 cNumEvents = mEvents.size(); 123 123 } 124 124 } 125 125 126 if (RT_SUCCESS( rc))127 rc = processPendingEvents(cNumEvents);126 if (RT_SUCCESS(vrc)) 127 vrc = processPendingEvents(cNumEvents); 128 128 129 129 Assert(mUserCnt); … … 131 131 } 132 132 else 133 rc = VERR_WRONG_ORDER;134 135 int rc2 = RTCritSectLeave(&mCritSect);136 if (RT_SUCCESS( rc))137 rc =rc2;138 } 139 140 Assert( rc != VERR_TIMEOUT || cMsTimeout != RT_INDEFINITE_WAIT);141 return rc;133 vrc = VERR_WRONG_ORDER; 134 135 int vrc2 = RTCritSectLeave(&mCritSect); 136 if (RT_SUCCESS(vrc)) 137 vrc = vrc2; 138 } 139 140 Assert(vrc != VERR_TIMEOUT || cMsTimeout != RT_INDEFINITE_WAIT); 141 return vrc; 142 142 } 143 143 … … 154 154 return VINF_SUCCESS; 155 155 156 int rc = VINF_SUCCESS;156 int vrc = VINF_SUCCESS; 157 157 158 158 EventQueueListIterator it = mEvents.begin(); … … 166 166 mEvents.erase(it); 167 167 168 int rc2 = RTCritSectLeave(&mCritSect);169 AssertRC( rc2);168 int vrc2 = RTCritSectLeave(&mCritSect); 169 AssertRC(vrc2); 170 170 171 171 pEvent->handler(); 172 172 pEvent->Release(); 173 173 174 rc2 = RTCritSectEnter(&mCritSect);175 AssertRC( rc2);174 vrc2 = RTCritSectEnter(&mCritSect); 175 AssertRC(vrc2); 176 176 177 177 it = mEvents.begin(); 178 178 if (mShutdown) 179 179 { 180 rc = VERR_INTERRUPTED;180 vrc = VERR_INTERRUPTED; 181 181 break; 182 182 } 183 183 } 184 184 185 return rc;185 return vrc; 186 186 } 187 187 … … 208 208 BOOL EventQueue::postEvent(Event *pEvent) 209 209 { 210 int rc = RTCritSectEnter(&mCritSect);211 if (RT_SUCCESS( rc))210 int vrc = RTCritSectEnter(&mCritSect); 211 if (RT_SUCCESS(vrc)) 212 212 { 213 213 try … … 231 231 232 232 /* Leave critical section before signalling event. */ 233 rc = RTCritSectLeave(&mCritSect);234 if (RT_SUCCESS( rc))235 { 236 int rc2 = RTSemEventSignal(mSemEvent);237 AssertRC( rc2);233 vrc = RTCritSectLeave(&mCritSect); 234 if (RT_SUCCESS(vrc)) 235 { 236 int vrc2 = RTSemEventSignal(mSemEvent); 237 AssertRC(vrc2); 238 238 } 239 239 } … … 241 241 { 242 242 NOREF(ba); 243 rc = VERR_NO_MEMORY;244 } 245 246 if (RT_FAILURE( rc))247 { 248 int rc2 = RTCritSectLeave(&mCritSect);249 AssertRC( rc2);250 } 251 } 252 253 return RT_SUCCESS( rc) ? TRUE : FALSE;243 vrc = VERR_NO_MEMORY; 244 } 245 246 if (RT_FAILURE(vrc)) 247 { 248 int vrc2 = RTCritSectLeave(&mCritSect); 249 AssertRC(vrc2); 250 } 251 } 252 253 return RT_SUCCESS(vrc) ? TRUE : FALSE; 254 254 } 255 255
Note:
See TracChangeset
for help on using the changeset viewer.