Uploaded image for project: 'Qt License server'
  1. Qt License server
  2. QLS-1628

CIP: TcpClient should handle signals EINTR/EAGAIN

XMLWordPrintable

      The TcpClient class lacks EINTR/EAGAIN handling. EINTR is triggered when a child process exits because the parent receives a SIGCHLD. It is possible to simply ignore the signal but in a library you don't know if the process you live in does that.

      So if in doubt, all POSIX calls documented to be interruptable need to be wrapped in do ... while(errno == EINTR).

      Things are slightly different for WSAEINTR on Windows: Windows has no SIGCHLD. It does have other reasons why system calls can get interrupted in a similar fashion though and that's why they have the same error code, the reason for the interrupt differs though.

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

            arttu.tarkiainen Arttu Tarkiainen
            makummer Marcel Kummer
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:

                There are no open Gerrit changes