Just an update on this, my plan is to just remove the "non-block" mode for all situations except for socket shutdown. I've not decided on what to do about that.
If you look in trunk you can see the current solution.
BTW when I went back through and looked at the code I realize that years ago when I did this I wasn't really thinking of "block" and "non-block", I was thinking more about how buffering worked internally in the library.
Either way, the next version will have just a single timeout that can be set, and the block/no-block won't influence it.
Just an update on this, my plan is to just remove the "non-block" mode for all situations except for socket shutdown. I've not decided on what to do about that.
If you look in trunk you can see the current solution.
BTW when I went back through and looked at the code I realize that years ago when I did this I wasn't really thinking of "block" and "non-block", I was thinking more about how buffering worked internally in the library.
Either way, the next version will have just a single timeout that can be set, and the block/no-block won't influence it.