aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/libmdsserver/macros.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/libmdsserver/macros.h b/src/libmdsserver/macros.h
index fc47e0a..f82c01d 100644
--- a/src/libmdsserver/macros.h
+++ b/src/libmdsserver/macros.h
@@ -383,9 +383,15 @@
*
* @param ... The condition
*/
-#define fail_if(...) \
- if (__VA_ARGS__) \
- do { fprintf(stderr, "failure at %s:%i\n", __FILE__, __LINE__); goto fail; } while (0)
+#define fail_if(...) \
+ if (__VA_ARGS__) \
+ do \
+ { \
+ if ((errno != EMSGSIZE) && (errno != ECONNRESET) && (errno != EINTR)) \
+ fprintf(stderr, "failure at %s:%i\n", __FILE__, __LINE__); \
+ goto fail; \
+ } \
+ while (0)
/**