pythoncom: STA python COM server randomly does not receive event from other objects : deadlock

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Marc ENGEL

    pythoncom: STA python COM server randomly does not receive event from other objects : deadlock

    Hi all,

    I coded a python COM object that runs in a pythonw local server as a
    STA.

    This object creates and advises a VC++ COM object to receive its
    event. Those events are sent by worker threads.

    The VC++ object is free threaded. As a consequence call between my STA
    python object and apartment are marshalled through proxy.

    The python COM object regularly calls a blocking method on the VC++
    object to synchronize. But, as it is a cross apartment call, during
    the call it can gets the event handler called thanks to the message
    pump operated by COM.

    But sometimes events are no received and it seems that I enter a
    deadlock.
    When I attach to the VC+ object, I can see that the thread that made
    the Fire_XX is still waiting for the call to end.

    Does somedy know the reason?

    Does the COM message pump may be different from the pythoncom message
    pump located in localserver.py : pythoncom.PumpM essages ?

    Thanks in advance for any hint, because this is a very blocking issue
    for my project.

    Marc
Working...