eCos Reference Manual
Prev | Chapter 41. APIs | Next

# Enhanced Select()

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
    select(int nfd,
           fd_set *in, fd_set *out, fd_set *ex,
           struct timeval *tv);

does not support the restart.

The additional API:

    int
    cyg_select_with_abort(int nfd,
           fd_set *in, fd_set *out, fd_set *ex,
           struct timeval *tv)

behaves exactly as select() with the additional feature that a call to

    void cyg_select_abort(void)

will cause all threads waiting in any `cyg_select_with_abort()` call to cease waiting and continue execution.

Prev | Home | Next
APIs | Up | OpenBSD TCP/IP Stack port for eCos