On Tuesday 07 September 2010, 00:01:55 Erik Janssens wrote: > Hello Pete, > > it might indeed be that the deadlock is not directly > related to the new style signal slot, since the deadlock > might become visible due to a slight timing difference > cause by eg switching to new style signal slots. > > however I wonder wether I'm doing anything wrong by > connecting and emiting the same signal object at the > same time (I did experiment with the connection type, > but without result).
Hmm, that's a pity. > For now I have put a mutexlock around > this particular instance, but I wonder if I should mutex > all possible cases ?? Did you searched for well known Qt issues of this kind already? Anyway, I would start to create a test script. That way, Phil might take a deeper look inside, since this problem combines a _somewhat_ hairy area (threads in general) with a complex PyQt one (dynamic "mocing" with signals/slots). Therefore my usual advise to look into the sip/PyQt/Qt source is exceptionally hard to follow in this case. > The camelot website (www.python-camelot.com) should be > up and running, I was not aware of any downtime, it's > hosted at weebly.com. Hmm: $ LANG=C wget www.python-camelot.com --2010-09-07 00:21:40-- http://www.python-camelot.com/ Resolving www.python-camelot.com... 199.34.228.100 Connecting to www.python-camelot.com|199.34.228.100|:80... failed: Connection timed out. Retrying. --2010-09-07 00:24:50-- (try: 2) http://www.python-camelot.com/ Connecting to www.python-camelot.com|199.34.228.100|:80... failed: Connection timed out. Retrying. --2010-09-07 00:28:01-- (try: 3) http://www.python-camelot.com/ Connecting to www.python-camelot.com|199.34.228.100|:80... failed: Connection timed out. Retrying. > The project is going well, we've > put a lot of work in switching from MDI to tab based and > are now converting to new style signal/slots because we > noticed stability improvements by using them. These > deadlocks are of course bothering me. Sounds nice. Is there any VCS I can pull from? Best regards, Pete > Best regards, > > Erik > > On Mon, 2010-09-06 at 10:43 +0200, Hans-Peter Jansen wrote: > > Dear Erik, > > > > On Friday 27 August 2010, 21:56:14 Erik Janssens wrote: > > > Hi, > > > > > > Another issue popped up when porting our code to > > > new style signal slots. > > > > > > it appears the deadlock occurs when one thread is > > > emitting using a pyqtSignal object, while another > > > thread is connecting the same pyqtSignal object to > > > a slot, > > > > I don't believe, that this is _directly_ related to the new style > > signal/slot idiom, but you might want to experiment with the connection > > type argument of connect. > > > > > this is the pseudocode for the connection : > > > > > > class(...): > > > > > > def __init__(...): > > > self.rsh.entity_update_signal.connect( > > > self.handle_entity_update ) > > > > > > @QtCore.pyqtSlot( object, object ) > > > def handle_entity_update( self, sender, entity ): > > > ... > > > > > > Are these operations supposed to be thread safe or am > > > I missing something ? > > > > BTW, the camelot website http://www.python-camelot.com/ seems to be > > down since some time.. What's the state of your project? > > > > Best regards, > > Pete > > _______________________________________________ > PyQt mailing list PyQt@riverbankcomputing.com > http://www.riverbankcomputing.com/mailman/listinfo/pyqt _______________________________________________ PyQt mailing list PyQt@riverbankcomputing.com http://www.riverbankcomputing.com/mailman/listinfo/pyqt