Mike Hearn wrote:
This patch makes InstallShield work again, and should let you get further Bill.
- Ensure all intermediate threads join the original apartment
- Make the listener thread fully apartment scoped (one per apt not per
process)
- Improve "already have mid" error message
- Rename _StubReaderThread to stub_dispatch_thread
- Improve tracing
Sorry Mike, but we want to *remove* the current hacks for the RPC-runtime emulating named pipe code, not adding more. The correct approach for the crash in _LocalServerThread is to use table-strong marshaling once and then copy the contents of the stream to the pipe for each iteration in the loop, instead of marshaling each time. The correct approach for the crash in _StubReaderThread is to make it execute in the correct apartment - either by sending a window message to the STA window or by joining the MTA. I believe you had a patch for this in July or August when we last worked on this.
Rob