diff options
author | s1341 <github@shmarya.net> | 2016-08-07 18:31:56 +0200 |
---|---|---|
committer | Ole André Vadla Ravnås <oleavr@gmail.com> | 2021-01-19 23:17:30 +0100 |
commit | 9204c346d4e8b227719ee28a2baf531fbdaa0dac (patch) | |
tree | 3be6f48fa26717e7fe869d5748035ee92cc26fc6 | |
parent | 5de22998d521b06e3556f67b9e7d2b586da15f7d (diff) | |
download | glib-9204c346d4e8b227719ee28a2baf531fbdaa0dac.tar.gz |
gsocket: Decrease msg_control buffer size for QNX
-rw-r--r-- | gio/gsocket.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/gio/gsocket.c b/gio/gsocket.c index 3a02dccde..52a198378 100644 --- a/gio/gsocket.c +++ b/gio/gsocket.c @@ -4486,6 +4486,15 @@ g_socket_condition_timed_wait (GSocket *socket, #ifndef G_OS_WIN32 +#ifdef HAVE_QNX +/* QNX has this weird upper limit, or at least used to back in the 6.x days. + * This was discovered empirically and doesn't appear to be mentioned in any + * of the official documentation. */ +# define G_SOCKET_CONTROL_BUFFER_SIZE_BYTES 2016 +#else +# define G_SOCKET_CONTROL_BUFFER_SIZE_BYTES 2048 +#endif + /* Unfortunately these have to be macros rather than inline functions due to * using alloca(). */ #define output_message_to_msghdr(message, prev_message, msg, prev_msg, error) \ @@ -4632,7 +4641,7 @@ G_STMT_START { \ } \ else \ { \ - _msg->msg_controllen = 2048; \ + _msg->msg_controllen = G_SOCKET_CONTROL_BUFFER_SIZE_BYTES; \ _msg->msg_control = g_alloca (_msg->msg_controllen); \ } \ \ |