Changeset 100664 in vbox
- Timestamp:
- Jul 20, 2023 10:22:27 AM (17 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/GuestHost/SharedClipboard/ClipboardDataObjectImpl-win.cpp
r100546 r100664 186 186 LogFlowFuncEnter(); 187 187 188 /* Let waiters know. */ 189 setStatusLocked(Uninitialized, VINF_SUCCESS); 190 191 /* Make sure to release the transfer. */ 192 setTransferLocked(NULL); 188 lock(); 189 190 if (m_enmStatus != Uninitialized) 191 { 192 193 /* Let the read thread know. */ 194 setStatusLocked(Uninitialized, VINF_SUCCESS); 195 196 /* Make sure to unlock before stopping the read thread. */ 197 unlock(); 198 199 /* Stop the read thread. */ 200 if (m_pTransfer) 201 ShClTransferStop(m_pTransfer); 202 203 lock(); 204 205 /* Make sure to release the transfer. */ 206 setTransferLocked(NULL); 207 } 208 209 unlock(); 193 210 } 194 211 … … 200 217 LogFlowFuncEnter(); 201 218 202 lock();203 204 219 uninitInternal(); 205 206 unlock();207 220 } 208 221 … … 217 230 return; 218 231 219 lock();220 221 232 uninitInternal(); 222 223 unlock();224 233 225 234 int rc = RTCritSectDelete(&m_CritSect); … … 552 561 for (;;) 553 562 { 563 if (ASMAtomicReadBool(&pTransfer->Thread.fStop)) 564 break; 565 554 566 pThis->unlock(); 555 567 … … 1315 1327 LogRel(("Shared Clipboard: Data object received error %Rrc (status %#x)\n", rc, enmStatus)); 1316 1328 1317 if (m_EventStatusChanged != NIL_RTSEMEVENT)1318 rc2 = RTSemEventSignal(m_EventStatusChanged); 1319 1329 rc2 = RTSemEventSignal(m_EventStatusChanged); 1330 1331 LogFlowFuncLeaveRC(rc2); 1320 1332 return rc2; 1321 1333 }
Note:
See TracChangeset
for help on using the changeset viewer.