[OLE #10] Make out of process COM work with OXID based marshal ids

Mike Hearn mh at codeweavers.com
Mon Dec 20 12:22:13 CST 2004


On Mon, 2004-12-20 at 17:56 +0000, Robert Shearman wrote:
> Sorry Mike, but we want to *remove* the current hacks for the 
> RPC-runtime emulating named pipe code, not adding more.

Yes, of course, but we also want to keep the code in CVS in a roughly
working situation. As it is, the code is guaranteed to crash with all
InstallShields (or indeed any program that uses out of process COM). If
Alexandre was to do a new tarball release tomorrow that's a lot of users
who are now inconvenienced.

Currently table marshalling isn't implemented, nor is thread affinity.
They're not 5-line patches either. They are on the todo list though and
when they're done we can redo the threading to work more like native and
remove the hacks.

IIRC the patch I wrote for thread affinity at the start of the summer
was never submitted precisely because it used a hack to ensure the
thread could find its wine_pipe again (a TLS slot/stack thing). I think
for thread affinity to work correctly we need to at least rework how
pipes and threads interact, maybe even switch it on top of the RPC
runtime transports entirely so re-entrancy works correctly. 

The patch really isn't as big as it looks, there are some formatting
changes in there and some renaming+commenting. 

thanks -mike




More information about the wine-devel mailing list