title: Linux - ioctl with FIONREAD always 0
body: <p>I'm trying to get to know how many bytes there are readable at my TCP socket. I am calling ioctl with the Flag "FIONREAD" which should actually give me this value. 
  When I call the function I get as return val 0 ( so no Error ) but also my integer argument gets the value 0. That would be no problem but when I call the recv() method I actually  read some Bytes out of the socket. What am I doing wrong?</p>
  
  <p>// here some Code:</p>
  
  <pre><code>char recBuffer[BUFFERLENGTH] = {0};
  int bytesAv = 0;
  int bytesRead = 0;
  int flags = 0;
  if ( ioctl (m_Socket,FIONREAD,&amp;bytesAv) &lt; 0 )
  {
      // Error
  }
  if ( bytesAv &lt; 1 )
  {
      // No Data Available
  }
  bytesRead = recv(m_Socket,recBuffer,BUFFERLENGTH,flags);
  </code></pre>
  
  <p>When I call the recv function i acutally read some valid Data ( which I expected )</p>