Hi Ross.

I've just updating our app to use liveMedia 2014.12.13 and have come across a 
problem with the recent changes for FD_SET in 2014.12.11.

createSocket()/socket() on Windows are returning socket descriptors with values 
up on the high hundreds (880, 892, etc).
This value gets passed to connect() which currently returns EWOULDBLOCK, and so 
is passed to setBackgroundHandling().
At this point, it hits the new FD_SETSIZE check:

if (socketNum >= (int)(FD_SETSIZE)) return;
(FD_SETSIZE is 64)

This results in the background handling not being added and the connection not 
progressing any further.
If I comment out that check then it connects as expected.

I'm not sure on the BSD implementation, but isn't the actual limit (specified 
with FD_SETSIZE) a number of descriptors, not their absolute values?
Also, on Windows, this limit can be redefined and increased so is not a hard 
limit in the API.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms740141(v=vs.85).aspx

What are your thoughts on this?

Thanks

-- 
Deanna Earley | Lead developer | icatchercctv

w: www.icode.co.uk/icatcher | t: 01329 835335 | f: 01329 835338
Registered Office : 71 The Hundred, Romsey, SO51 8BZ. Company Number : 03428325


_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to