tdevdraw: avoid deadlock in x11 resize - plan9port - [fork] Plan 9 from user space
HTML git clone git://src.adamsgaard.dk/plan9port
DIR Log
DIR Files
DIR Refs
DIR README
DIR LICENSE
---
DIR commit 0be57355f912dbedb76cea1a7a4f9a1deb5bde2b
DIR parent 4241cae2a1ffe7a499ffd9d028e001fea7a678d6
HTML Author: Russ Cox <rsc@golang.org>
Date: Wed, 15 Jan 2020 11:59:45 -0500
devdraw: avoid deadlock in x11 resize
Fixes #347.
Diffstat:
M src/cmd/devdraw/x11-inc.h | 1 +
M src/cmd/devdraw/x11-screen.c | 2 ++
2 files changed, 3 insertions(+), 0 deletions(-)
---
DIR diff --git a/src/cmd/devdraw/x11-inc.h b/src/cmd/devdraw/x11-inc.h
t@@ -17,6 +17,7 @@
#include <X11/IntrinsicP.h>
#include <X11/StringDefs.h>
#ifdef SHOWEVENT
+#include <stdio.h>
#include "../rio/showevent/ShowEvent.c"
#endif
DIR diff --git a/src/cmd/devdraw/x11-screen.c b/src/cmd/devdraw/x11-screen.c
t@@ -1042,7 +1042,9 @@ _xreplacescreenimage(Client *client)
w->nextscreenpm = pixmap;
w->screenr = r;
client->mouserect = r;
+ xunlock();
gfx_replacescreenimage(client, m);
+ xlock();
return 1;
}