userlibandfileserver/fileserver/shostmassstorage/server/src/cusbhostmssession.cpp
equal
deleted
inserted
replaced
112 { |
112 { |
113 aMessage.Complete(r); |
113 aMessage.Complete(r); |
114 return; |
114 return; |
115 } |
115 } |
116 break; |
116 break; |
|
117 case EUsbHostMsUnRegisterInterface: |
|
118 iCleanupInProgress = ETrue; |
|
119 break; |
117 /* If it is a cleanup then we need to delete the iDeviceThread */ |
120 /* If it is a cleanup then we need to delete the iDeviceThread */ |
118 case EUsbHostMsFinalCleanup: |
121 case EUsbHostMsFinalCleanup: |
119 delete iDeviceThread; |
122 delete iDeviceThread; |
|
123 iDeviceThread = NULL; |
120 iThread.Kill(KErrNone); |
124 iThread.Kill(KErrNone); |
121 aMessage.Complete(KErrNone); |
125 aMessage.Complete(KErrNone); |
122 return; |
126 return; |
123 default: |
127 default: |
124 break; |
128 break; |
125 } |
129 } |
126 |
130 |
127 __ASSERT_DEBUG(iDeviceThread != NULL, User::Panic(KUsbMsHostPanicCat, EDeviceThreadDoesNotExist)); |
131 if (iDeviceThread == NULL || iCleanupInProgress ) |
|
132 { |
|
133 aMessage.Complete(KErrBadHandle); |
|
134 return; |
|
135 } |
|
136 |
128 |
137 |
129 r = iDeviceThread->QueueMsg(aMessage); |
138 r = iDeviceThread->QueueMsg(aMessage); |
130 if (r != KErrNone) |
139 if (r != KErrNone) |
131 { |
140 { |
132 aMessage.Complete(r); |
141 aMessage.Complete(r); |