Changeset 39341 in vbox for trunk/src/libs/xpcom18a4/ipc/ipcd
- Timestamp:
- Nov 16, 2011 8:10:04 PM (13 years ago)
- Location:
- trunk/src/libs/xpcom18a4/ipc/ipcd/extensions/dconnect/src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/libs/xpcom18a4/ipc/ipcd/extensions/dconnect/src/ipcDConnectService.cpp
r36000 r39341 300 300 301 301 void 302 ipcDConnectService::ReleaseWrappers(nsVoidArray &wrappers) 303 { 302 ipcDConnectService::ReleaseWrappers(nsVoidArray &wrappers, PRUint32 peer) 303 { 304 nsAutoLock lock (mLock); 305 304 306 for (PRInt32 i=0; i<wrappers.Count(); ++i) 305 307 { 306 ((DConnectInstance *) wrappers[i])->ReleaseIPC(); 307 ((DConnectInstance *) wrappers[i])->Release(); 308 DConnectInstance *wrapper = (DConnectInstance *)wrappers[i]; 309 if (mInstanceSet.Contains(wrapper) && wrapper->Peer() == peer) 310 { 311 ((DConnectInstance *) wrappers[i])->ReleaseIPC(); 312 ((DConnectInstance *) wrappers[i])->Release(); 313 } 308 314 } 309 315 } … … 2571 2577 { 2572 2578 // INVOKE message wasn't sent; clean up wrappers 2573 dConnect->ReleaseWrappers(wrappers );2579 dConnect->ReleaseWrappers(wrappers, mPeerID); 2574 2580 return rv; 2575 2581 } … … 2591 2597 { 2592 2598 // INVOKE message wasn't sent; clean up wrappers 2593 dConnect->ReleaseWrappers(wrappers );2599 dConnect->ReleaseWrappers(wrappers, mPeerID); 2594 2600 return rv; 2595 2601 } … … 2608 2614 { 2609 2615 // INVOKE message wasn't delivered; clean up wrappers 2610 dConnect->ReleaseWrappers(wrappers );2616 dConnect->ReleaseWrappers(wrappers, mPeerID); 2611 2617 return rv; 2612 2618 } … … 2629 2635 { 2630 2636 // INVOKE message wasn't received; clean up wrappers 2631 dConnect->ReleaseWrappers(wrappers );2637 dConnect->ReleaseWrappers(wrappers, mPeerID); 2632 2638 return rv; 2633 2639 } … … 3761 3767 { 3762 3768 LOG(("unable to send SETUP_REPLY: rv=%x\n", rv)); 3763 ReleaseWrappers(wrappers );3769 ReleaseWrappers(wrappers, peer); 3764 3770 } 3765 3771 } … … 4042 4048 { 4043 4049 LOG(("unable to send INVOKE_REPLY: rv=%x\n", rv)); 4044 ReleaseWrappers(wrappers );4050 ReleaseWrappers(wrappers, peer); 4045 4051 } 4046 4052 -
trunk/src/libs/xpcom18a4/ipc/ipcd/extensions/dconnect/src/ipcDConnectService.h
r21169 r39341 235 235 PRUint32 peer, nsIException **xcpt); 236 236 237 NS_HIDDEN_(void) ReleaseWrappers(nsVoidArray &wrappers );237 NS_HIDDEN_(void) ReleaseWrappers(nsVoidArray &wrappers, PRUint32 peer); 238 238 239 239 NS_HIDDEN_(nsresult) CreateStub(const nsID &, PRUint32, DConAddr, DConnectStub **);
Note:
See TracChangeset
for help on using the changeset viewer.