FreeRDP/FreeRDP — pull request #1769 by nfedera (2014-04-03 19:44:30+00:00)
Title: libfreerdp-core: fix transport_check_fds

This patch fixes an issue with hung clients connected to FreeRDP server:

- Removed the completely useless inner while loop which used the transport
receive buffer stream position as break contition: The transport receive
buffer stream is replaced after each iteration of this loop with a fresh
instance from a pool which has the position set to 0. Thus it was
technically impossible that this loop would ever be run twice.

- We must not always return if transport_read_nonblocking returns 0:
transport_read_nonblocking() is also called in transport_write() and
therefore it is possible that the stream position of the transport
receive buffer is already > 0 when entering transport_check_fds.