c++ - select() on a pipe in blocking mode returns EAGAIN -


the man pages select() not list eagain possible error code select() function.

can explain in cases select() can produce eagain error?

if understand select_tut man page, eagain can produced sending signal process blocked waiting on blocked select(). correct?

since using select() in blocking mode timeout, this:

bool selectrepeat = true; int res = 0; timeval  selecttimeout( timeout ); while ( true == selectrepeat ) {   res = ::select( fd.get() + 1,                   null,                   &writefdset,                   null,                   &selecttimeout );   selectrepeat = ( ( -1 == res ) && ( eintr == errno ) ); } 

should repeat loop when error number eagain?

select() not return eagain under circumstance. may, however, return eintr if interrupted signal (this applies system calls).

eagain (or ewouldblock) may returned read, write, recv, send, etc.


Comments

Popular posts from this blog

android - Spacing between the stars of a rating bar? -

aspxgridview - Devexpress grid - header filter does not work if column is initially hidden -

c# - How to execute a particular part of code asynchronously in a class -