It could, but it doesn't and never has.  The standard was written to admit a broader set of behavior than real systems actually implement.  And in this case, there's absolutely nothing "surprising" to my eyes about a blocking (!) socket blocking on overflow.<p>Again: there is already a mechanism in place to support non-blocking behavior, and it's not this one.