aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2009-11-11 09:54:07 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2009-11-11 09:54:07 +0000
commit7230fe1648831a17165201b6f02e0365f7b5f938 (patch)
treea09284b7e99839a3daf49e58b140dc604904f91f
parent60869fa4c37815b1fd020cbe730ae457d105a0e0 (diff)
downloadrtmux-7230fe1648831a17165201b6f02e0365f7b5f938.tar.gz
rtmux-7230fe1648831a17165201b6f02e0365f7b5f938.tar.bz2
rtmux-7230fe1648831a17165201b6f02e0365f7b5f938.zip
OS X is still broken, so ask libevent not to use kqueue or poll.
-rwxr-xr-xconfigure6
-rw-r--r--server.c16
-rw-r--r--tmux.c16
3 files changed, 35 insertions, 3 deletions
diff --git a/configure b/configure
index 66fc2c15..b7484554 100755
--- a/configure
+++ b/configure
@@ -1,5 +1,5 @@
#!/bin/sh
-# $Id: configure,v 1.44 2009-11-08 22:51:34 tcunha Exp $
+# $Id: configure,v 1.45 2009-11-11 09:54:07 nicm Exp $
#
# Copyright (c) 2009 Nicholas Marriott <nicm@users.sourceforge.net>
#
@@ -29,6 +29,8 @@ echo "# $TMUX_PLATFORM" >$CONFIG_MK
cat <<EOF >>$CONFIG_H
#undef HAVE_ASPRINTF
#undef HAVE_BROKEN_CMSG_FIRSTHDR
+#undef HAVE_BROKEN_KQUEUE
+#undef HAVE_BROKEN_POLL
#undef HAVE_BZERO
#undef HAVE_CRYPT_H
#undef HAVE_DAEMON
@@ -169,6 +171,8 @@ EOF
cat <<EOF >>$CONFIG_H
#define HAVE_ASPRINTF
#define HAVE_BROKEN_CMSG_FIRSTHDR
+#define HAVE_BROKEN_KQUEUE
+#define HAVE_BROKEN_POLL
#define HAVE_BZERO
#define HAVE_DAEMON
#define HAVE_FGETLN
diff --git a/server.c b/server.c
index 25fc25b4..f67b3667 100644
--- a/server.c
+++ b/server.c
@@ -1,4 +1,4 @@
-/* $Id: server.c,v 1.225 2009-11-08 23:28:40 tcunha Exp $ */
+/* $Id: server.c,v 1.226 2009-11-11 09:54:07 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -164,7 +164,21 @@ server_start(char *path)
setproctitle("server (%s)", rpathbuf);
#endif
+#ifdef HAVE_BROKEN_KQUEUE
+ if (setenv("EVENT_NOKQUEUE", "1", 1) != 0)
+ fatal("setenv failed");
+#endif
+#ifdef HAVE_BROKEN_POLL
+ if (setenv("EVENT_NOPOLL", "1", 1) != 0)
+ fatal("setenv failed");
+#endif
event_init();
+#ifdef HAVE_BROKEN_KQUEUE
+ unsetenv("EVENT_NOKQUEUE");
+#endif
+#ifdef HAVE_BROKEN_POLL
+ unsetenv("EVENT_NOPOLL");
+#endif
server_fd = server_create_socket();
server_client_create(pair[1]);
diff --git a/tmux.c b/tmux.c
index bb93d12a..9d3ecaa5 100644
--- a/tmux.c
+++ b/tmux.c
@@ -1,4 +1,4 @@
-/* $Id: tmux.c,v 1.187 2009-11-10 23:34:03 tcunha Exp $ */
+/* $Id: tmux.c,v 1.188 2009-11-11 09:54:07 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -488,7 +488,21 @@ main(int argc, char **argv)
exit(1);
xfree(path);
+#ifdef HAVE_BROKEN_KQUEUE
+ if (setenv("EVENT_NOKQUEUE", "1", 1) != 0)
+ fatal("setenv failed");
+#endif
+#ifdef HAVE_BROKEN_POLL
+ if (setenv("EVENT_NOPOLL", "1", 1) != 0)
+ fatal("setenv failed");
+#endif
event_init();
+#ifdef HAVE_BROKEN_KQUEUE
+ unsetenv("EVENT_NOKQUEUE");
+#endif
+#ifdef HAVE_BROKEN_POLL
+ unsetenv("EVENT_NOPOLL");
+#endif
imsg_compose(main_ibuf, msg, PROTOCOL_VERSION, -1, -1, buf, len);