Important: Please read the Qt Code of Conduct -

Qt main thread blocked on pthread_join() causes strange result

  • Hello,
    my app starts some posix threads and then, in particular circumstances, the Qt main thread goes in pthread_join to wait for another thread terminates its life (and do somethings). In this case, Qt main thread
    got stuck and never got woken up on meego harmattan. If I do the same but step by step under debug Qt main thread goes correctly and get released from within pthread_join call....
    It seems like Qt main thread blocked on pthread_join (while posix thread terminate) causes a freeze of the entire app (posix thread never terminates like it is frozen too)...during this stage if I force termination using stop button of QtCreator, all sequences (printing those with qDebug) are shown correctly!

    Someone knows how I can get rid of this Qt related thread problem?

  • It's very strange, but I've discovered that on Harmattan, if I close a socket, it never emits EINTR on native thread blocked on that socket.
    This prevent pthread_join call from being never woken up...
    I have resolved right now using sigalrm that seems to work.

Log in to reply