Skip to content

Commit

Permalink
1.0.22.18: select() and EAGAIN
Browse files Browse the repository at this point in the history
On at least x86 linux 2.6.26 select() can return EAGAIN under load. I
guess this is what the commit message of 1.0.21.8 refers to as "what
happens in the wild" as EAGAIN is not mentioned in the select man
page.
  • Loading branch information
Gabor Melis committed Nov 14, 2008
1 parent f222dcf commit 3d44616
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 3 deletions.
5 changes: 3 additions & 2 deletions src/code/serve-event.lisp
Original file line number Diff line number Diff line change
Expand Up @@ -277,11 +277,12 @@ Shared between all threads, unless locally bound. EXPERIMENTAL.")
(case err
(#.sb!unix:ebadf
(handler-descriptors-error))
(#.sb!unix:eintr
((#.sb!unix:eintr #.sb!unix:eagain)
t)
(otherwise
(with-simple-restart (continue "Ignore failure and continue.")
(simple-perror "Unix system call select() failed" :errno err))))
(simple-perror "Unix system call select() failed"
:errno err))))
#!+win32
(handler-descriptors-error))
((plusp value)
Expand Down
2 changes: 2 additions & 0 deletions tools-for-build/grovel-headers.c
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@ main(int argc, char *argv[])
defconstant("enoent", ENOENT);
defconstant("eexist", EEXIST);
defconstant("eintr", EINTR);
defconstant("eagain", EAGAIN);

defconstant("s-ifmt", S_IFMT);
defconstant("s-ifdir", S_IFDIR);
Expand Down Expand Up @@ -308,6 +309,7 @@ main(int argc, char *argv[])
deferrno("ebadf", EBADF);
deferrno("enoent", ENOENT);
deferrno("eintr", EINTR);
deferrno("eagain", EAGAIN);
deferrno("eio", EIO);
deferrno("eexist", EEXIST);
deferrno("eloop", ELOOP);
Expand Down
2 changes: 1 addition & 1 deletion version.lisp-expr
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@
;;; checkins which aren't released. (And occasionally for internal
;;; versions, especially for internal versions off the main CVS
;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
"1.0.22.17"
"1.0.22.18"

0 comments on commit 3d44616

Please sign in to comment.