On Monday 06 October 2014 17:23:05 Francisco Ares wrote: > Hi, > > I'm trying to implement a serial communication class. Under certain > conditions, I would like to send a message, then keep the thread locked > until some specific answer arrives, then the thread could be unlocked.
Ok. It's usually a bad idea, but understood. Why can't you use QtSerialPort? > While testing the connection, the lock (using a QMutex for this) may lock > forever if the connection is opened, so I have implemented a single shot > QTimer so that the thread could have an exit point when this timer period > times out. > > But it does not work. > > The QMutex and the QTimer are on the same thread. Does QMutex locks the > thread so much? Any advice? Of course. The only thing that can take a mutex out of the lock() call is the lock succeeding. You can use tryLock() with a timeout, but then you have a race condition: the lock may have just become available an instant after the lock timed out, but before you could do anything. -- Thiago Macieira - thiago.macieira (AT) intel.com Software Architect - Intel Open Source Technology Center _______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest