I initially set the blocking option for RsslConnectOptions to true. My program was working fine. I was connecting, was able to login receive updates, all was good. I then decided to move to non blocking style of connection. I set up the connection loop according to the example but after the channel goes into RSSL_CH_STATE_INITIALIZING and I call rsslInitChannel the retval is always RSSL_RET_CHAN_INIT_IN_PROGRESS and the flags indicate RSSL_IP_FD_CHANGE. it does like this for some 3-4 times and then retval becomes less than 0. Even after reconnection this process goes on in a loop.