Hi

>>> Look at your backtrace and figure out what the other lock point was.
>> But just imagine a situation in which the potential for double locking
>> in a one-threaded environment is posiible.
>> It is not possible at all. But I see that when executing
>> ServerSocket::doThis() sometimes method ServerSocket::slotDisconnected()
>> is called asynchronously, so to speak. I.e. in the middle of
>> ServerSocket::doThis() invoked ServerSocket::slotDisconnected(). How
>> it's possible in one-threaded app?
> Well, doThis in your example sends data over the socket, in particular
> it flushes the data. This may result in the socket detecting that the
> connection was closed from the other side and hence the signal is
> emitted. In turn this means the slot connected to the signal is
> called.

Well, it's possible. Thaks.

> Since the mutex is locked in doThis and in the slot, but its not a
> recursive mutex you're dead-locked. However you don't need a mutex for
> a single-threaded app anyway, so just remove it.

I've added mutex only for test. Thaks again.

_______________________________________________
Interest mailing list
Interest@qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest

Reply via email to