Alan,<div><br></div><div>If I understand you correctly, yes it would be prone to same issues. The bigger problem with COM is that it is frequently used in non-UI applications without a main loop. As there is no main event loop processing events, the user needs to make sure they manually process them.</div>
<div><br></div><div>- Jonathan<br><br><div class="gmail_quote">On Fri, Sep 2, 2011 at 1:59 PM, Alan <span dir="ltr">&lt;<a href="mailto:alan.mcgovern@gmail.com">alan.mcgovern@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
The System.Windows.Forms sync context runs stuff on the winforms main loop, so wouldn&#39;t it be prone to exactly the message pumping related deadlocks that were already described?<div><br></div><div><font color="#888888">Alan </font><div>
<div></div><div class="h5"><br><br><div class="gmail_quote">
On 2 September 2011 18:30, Robert Jordan <span dir="ltr">&lt;<a href="mailto:robertj@gmx.net" target="_blank">robertj@gmx.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi Jonathan,<br>
<br>
How about relying on System.Threading.SynchronizationContext.Current?<br>
This could work w/out exposing any internal calls/env vars.<br>
<br>
This way we offload the burden of implementing a suitable<br>
SynchronizationContext on the COM consumer. Done ;)<br>
<br>
The necessary runtime changes are as simple as this:<br>
<br>
~__ComObject ()<br>
{<br>
        SynchronizationContext.Current.Post(delegate {<br>
                 ReleaseInterfaces ();<br>
        });<br>
}<br>
<br>
Consumers publish their own SynchronizationContext with<br>
SynchronizationContext.SetSynchronizationContext(<br>
        new MySuperCoolSyncContext());<br>
<font color="#888888"><br>
Robert<br>
</font><div><div></div><div><br>
_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
</div></div></blockquote></div><br></div></div></div>
<br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br></div>