Since we are now opening control socket in non-blocking mode, it opens race condition between accepting stream connection on unix domain socket and availability of data on the socket. Patch it by doing read() in a loop until we actually get the data. While I am here, allow V command to take extra argument, which we don't process but put into the log file. This allows to pass some extra information from the client (SER in this case) such as PID number for example.
Since we are now opening control socket in non-blocking mode, it opens
race condition between accepting stream connection on unix domain
socket and availability of data on the socket. Patch it by doing read()
in a loop until we actually get the data. While I am here, allow V
command to take extra argument, which we don't process but put into
the log file. This allows to pass some extra information from the
client (SER in this case) such as PID number for example.

synety-jdebp/rtpproxy,hongbinz/rtpproxy,Vocalocity/rtpproxy-pre,Vocalocity/rtpproxy-pre,Vocalocity/rtpproxy-pre,sippy/rtpproxy,sippy/rtpproxy,sippy/rtpproxy,hongbinz/rtpproxy,hongbinz/rtpproxy,jevonearth/rtpproxy,jevonearth/rtpproxy,dsanders11/rtpproxy,jevonearth/rtpproxy,synety-jdebp/rtpproxy,jevonearth/rtpproxy,synety-jdebp/rtpproxy,dsanders11/rtpproxy,hongbinz/rtpproxy,dsanders11/rtpproxy,Vocalocity/rtpproxy-pre,synety-jdebp/rtpproxy