commit 19d8c7123d07481f521adb01aa42610eb9449819
parent e9d2f3286b20e807258adabb46469bb27fdb94bb
Author: Kris Maglione <jg@suckless.org>
Date: Thu, 31 Jan 2008 19:56:49 -0500
libx11-xcb is crap. Don't OCEXEC the X11 socket.
Diffstat:
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/cmd/wmii/main.c b/cmd/wmii/main.c
@@ -334,6 +334,8 @@ spawn_command(const char *cmd) {
if(doublefork() == 0) {
if(setsid() == -1)
fatal("Can't setsid: %r");
+ /* Was closeexeced, but Xlib-xcb doesn't like it. */
+ close(ConnectionNumber(display));
shell = passwd->pw_shell;
if(shell[0] != '/')
@@ -396,7 +398,6 @@ main(int argc, char *argv[]) {
starting = True;
initdisplay();
- closeexec(ConnectionNumber(display));
xlib_errorhandler = XSetErrorHandler(errorhandler);
@@ -416,6 +417,10 @@ main(int argc, char *argv[]) {
sock = ixp_announce(address);
if(sock < 0)
fatal("Can't create socket '%s': %r", address);
+ /* Grr! Xlib-xcb doesn't like this in the least.
+ * And I thought XF86 Xlib was bad... *sigh*
+ closeexec(ConnectionNumber(display));
+ */
closeexec(sock);
if(wmiirc)