Hi TK Soh,

On Fri, Aug 15, 2008 at 3:55 AM, TK Soh <[EMAIL PROTECTED]> wrote:

> On Thu, Aug 14, 2008 at 8:56 PM, Tim van der Leeuw <[EMAIL PROTECTED]>
> wrote:
> >
> > "Redirecting output to win32trace remote collector"
>
> Believe it or not, it's actually pywin32 who's redirecting the stderr
> and stdout.
>
> My analysis so far has been, that when a file dialog is open,
> pythoncom kicks in (in this case, triggered by TortoiseHg's overlay
> icons extensions), forcing the redirection of std* to win32trace
> collector. In the case of WingIDE, it has resulted in the hang-up (!)
> of the whole application.
>
> In the future release of TortoiseHg, we hope to replace the Explorer
> shell extensions with a C++ version, which would hopefully get rid of
> all the problems caused by the used of pythoncom in the current
> implementation. The prototype for the C++ version is working.
>

Thanks for doing the analysis and the work put in. I hope that the C++
version of the shell extension becomes releasable soon enough.

I guess that this issue, caused by PythonCOM, is actually a more fundamental
issue with COM as such, and not fixable by the Python win32com extensions:
The COM objects run within another process, therefore they share state with
that process. And when both the process and the COM object happen to be a
Python runtime, they share Python runtime state, and one starts to affect
the other in undesirable ways.

I guess that there *might* be a solution to this problem if it would be
possible to load multiple instances of the Python runtime DLL within a
single process, without these multiple instances interfering with each
other.
But that would probably require large rewrites to the Python core, and might
not be desirable in other circumstances.

Thanks so far and regards,

--Tim
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Tortoisehg-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tortoisehg-discuss

Reply via email to