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
7
os/io.c
7
os/io.c
|
@ -102,11 +102,16 @@ typedef struct _connectionOutput {
|
||||||
static ConnectionInputPtr AllocateInputBuffer(void);
|
static ConnectionInputPtr AllocateInputBuffer(void);
|
||||||
static ConnectionOutputPtr AllocateOutputBuffer(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
|
* systems are broken and return EWOULDBLOCK when they should return EAGAIN
|
||||||
*/
|
*/
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
|
# if (EAGAIN != EWOULDBLOCK)
|
||||||
# define ETEST(err) (err == EAGAIN || err == 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 */
|
#else /* WIN32 The socket errorcodes differ from the normal errors */
|
||||||
#define ETEST(err) (err == EAGAIN || err == WSAEWOULDBLOCK)
|
#define ETEST(err) (err == EAGAIN || err == WSAEWOULDBLOCK)
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue
Block a user