|
@@ -5184,6 +5184,14 @@ push_inner(struct mg_context *ctx,
|
|
|
struct timeval tv;
|
|
|
int sret;
|
|
|
|
|
|
+#if defined(__GNUC__) || defined(__MINGW32__)
|
|
|
+/* GCC seems to have a flaw with it's own socket macros:
|
|
|
+ * http://www.linuxquestions.org/questions/programming-9/impossible-to-use-gcc-with-wconversion-and-standard-socket-macros-841935/
|
|
|
+ */
|
|
|
+#pragma GCC diagnostic push
|
|
|
+#pragma GCC diagnostic ignored "-Wconversion"
|
|
|
+#endif
|
|
|
+
|
|
|
FD_ZERO(&wfds);
|
|
|
FD_SET(sock, &wfds);
|
|
|
tv.tv_sec = (time_t)(ms_wait / 1000);
|
|
@@ -5191,6 +5199,10 @@ push_inner(struct mg_context *ctx,
|
|
|
|
|
|
sret = select((int)sock + 1, NULL, &wfds, NULL, &tv);
|
|
|
|
|
|
+#if defined(__GNUC__) || defined(__MINGW32__)
|
|
|
+#pragma GCC diagnostic pop
|
|
|
+#endif
|
|
|
+
|
|
|
if (sret > 0) {
|
|
|
/* We got ready to write. Don't check the timeout
|
|
|
* but directly go back to write again. */
|