luakit-git: Backport current patch discussed upstream to fix hanging luakit

(Unlike #726 that's probably the real fix.)
This commit is contained in:
Leonardo Taccari 2020-09-27 11:51:20 +02:00
parent 6fa7d45734
commit c9ecaa580d
3 changed files with 29 additions and 23 deletions

View File

@ -5,4 +5,4 @@ RMD160 (luakit/2aecefe95c99808121edbf3903c3947779f8c4d4-2aecefe95c99808121edbf39
SHA512 (luakit/2aecefe95c99808121edbf3903c3947779f8c4d4-2aecefe95c99808121edbf3903c3947779f8c4d4.zip) = f493fde91e87b8bd40f3a90b558c4d297ed31bc00e6924660a5c1fa55aa35bfd2eb7c8a6a7ea1d6b9ef7d095d358659d350ca92fbc6f654a9df9a1544ce30fdf
Size (luakit/2aecefe95c99808121edbf3903c3947779f8c4d4-2aecefe95c99808121edbf3903c3947779f8c4d4.zip) = 518360 bytes
SHA1 (patch-Makefile) = d45f31061ea5d5bcf5ed6d63fcea41590003e10b
SHA1 (patch-lib_window.lua) = cdbea2b3a9cca18c6e3a6b682cdb33b44ef286c0
SHA1 (patch-common_ipc.c) = 0b45f8ecacbf7f94fe6913826944afdf80279c9d

View File

@ -0,0 +1,28 @@
$NetBSD$
Fix for #725: luakit get stuck and start using all the CPU when closing the last
tab when window.close_with_last_tab setting is false.
From:
<https://github.com/luakit/luakit/pull/862>
--- common/ipc.c.orig 2020-07-21 22:24:57.000000000 +0000
+++ 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,8 @@ ipc_recv_and_dispatch_or_enqueue(ipc_end
case G_IO_STATUS_AGAIN:
return;
case G_IO_STATUS_EOF:
+ verbose("g_io_channel_read_chars(): End Of File received");
+ g_atomic_int_dec_and_test(&ipc->refcount);
return;
case G_IO_STATUS_ERROR:
if (!g_str_equal(ipc->name, "UI"))

View File

@ -1,22 +0,0 @@
$NetBSD$
Do not destroy() the view.
When just one tab is present it leads to an high CPU usage and luakit completely
stuck (although start luakit via `--log=DEBUG' option shows that it responds to
events).
Reported uptsream via:
<https://github.com/luakit/luakit/pull/726>
--- lib/window.lua.orig 2018-09-22 23:42:41.000000000 +0000
+++ lib/window.lua
@@ -481,7 +481,6 @@ _M.methods = {
view = view or w.view
w:emit_signal("close-tab", view)
w:detach_tab(view, blank_last)
- view:destroy()
end,
attach_tab = function (w, view, switch, order)