If EAGAIN == EWOULDBLOCK, only need to check errno for one of them
Solaris <sys/errno.h> has: #define EWOULDBLOCK EAGAIN so checking (errno == EAGAIN || errno == EWOULDBLOCK) is overkill. This leads cppcheck 1.62 to complain: [xserver/os/io.c:365] -> [xserver/os/io.c:365]: (style) Same expression on both sides of '||'. [xserver/os/io.c:941] -> [xserver/os/io.c:941]: (style) Same expression on both sides of '||'. This quiets it, and reduces the number of calls Solaris Studio cc generates to the __errno() function to get the thread-specific errno value. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
044a6ef2ff
commit
457bc83549
11
os/io.c
11
os/io.c
|
@ -102,12 +102,17 @@ typedef struct _connectionOutput {
|
|||
static ConnectionInputPtr AllocateInputBuffer(void);
|
||||
static ConnectionOutputPtr AllocateOutputBuffer(void);
|
||||
|
||||
/* check for both EAGAIN and EWOULDBLOCK, because some supposedly POSIX
|
||||
/* If EAGAIN and EWOULDBLOCK are distinct errno values, then we check errno
|
||||
* for both EAGAIN and EWOULDBLOCK, because some supposedly POSIX
|
||||
* systems are broken and return EWOULDBLOCK when they should return EAGAIN
|
||||
*/
|
||||
#ifndef WIN32
|
||||
#define ETEST(err) (err == EAGAIN || err == EWOULDBLOCK)
|
||||
#else /* WIN32 The socket errorcodes differ from the normal errors */
|
||||
# if (EAGAIN != EWOULDBLOCK)
|
||||
# define ETEST(err) (err == EAGAIN || err == EWOULDBLOCK)
|
||||
# else
|
||||
# define ETEST(err) (err == EAGAIN)
|
||||
# endif
|
||||
#else /* WIN32 The socket errorcodes differ from the normal errors */
|
||||
#define ETEST(err) (err == EAGAIN || err == WSAEWOULDBLOCK)
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user