As I understand the semantics of the select call, C should now return immediately in response to the closure (and it does on Mac OS X). However, the following test code behaves otherwise for the two test cases I've tried (2.4.21 and 2.6.5). Compilation command used: 'gcc foobar.c -lpthread'.