all the things
This commit is contained in:
31
www/luakit/patches/patch-common_ipc_c
Normal file
31
www/luakit/patches/patch-common_ipc_c
Normal file
@@ -0,0 +1,31 @@
|
||||
$OpenBSD$
|
||||
|
||||
NetBSD EOF fix
|
||||
|
||||
Index: common/ipc.c
|
||||
--- common/ipc.c.orig
|
||||
+++ common/ipc.c
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "common/lualib.h"
|
||||
#include "common/luaserialize.h"
|
||||
#include "common/ipc.h"
|
||||
+#include "log.h"
|
||||
|
||||
/* Prototypes for ipc_recv_... functions */
|
||||
#define X(name) void ipc_recv_##name(ipc_endpoint_t *ipc, const void *msg, guint length);
|
||||
@@ -138,6 +139,15 @@ ipc_recv_and_dispatch_or_enqueue(ipc_endpoint_t *ipc)
|
||||
case G_IO_STATUS_AGAIN:
|
||||
return;
|
||||
case G_IO_STATUS_EOF:
|
||||
+ verbose("g_io_channel_read_chars(): End Of File received");
|
||||
+ /* OSX and NetBSD are sending EOF on nonblocking channels first.
|
||||
+ * These requests can be ignored. They should end up in
|
||||
+ * recv_hup(), but unfortunately they do not.
|
||||
+ *
|
||||
+ * If we do not close the socket, glib will continue to
|
||||
+ * call the G_IO_IN handler.
|
||||
+ */
|
||||
+ g_atomic_int_dec_and_test(&ipc->refcount);
|
||||
return;
|
||||
case G_IO_STATUS_ERROR:
|
||||
if (!g_str_equal(ipc->name, "UI"))
|
||||
Reference in New Issue
Block a user