The network stack supports an extension to the standard select semantics which allows all threads that are waiting to be restarted even if the select conditions are not satisfied.
The standard select() API:
int
|
does not support the restart.
The additional API:
int
|
behaves exactly as select() with the additional feature that a call to
void |
will cause all threads waiting in any
cyg_select_with_abort()
call
to cease waiting and continue execution.