Revert r3463, because it broke Linux.
Review URL: https://codereview.appspot.com/5876056

git-svn-id: http://skia.googlecode.com/svn/trunk@3465 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/unix_test_app/main.cpp b/unix_test_app/main.cpp
new file mode 100644
index 0000000..108e9ac
--- /dev/null
+++ b/unix_test_app/main.cpp
@@ -0,0 +1,62 @@
+
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#include "X11/Xlib.h"
+#include "X11/keysym.h"
+
+#include "SkApplication.h"
+#include "SkEvent.h"
+#include "SkWindow.h"
+#include "SkTypes.h"
+
+#include <signal.h>
+#include <sys/time.h>
+
+SkOSWindow* gWindow;
+
+static void catch_alarm(int sig)
+{
+    SkEvent::ServiceQueueTimer();
+}
+
+int main(int argc, char** argv){
+    signal(SIGALRM, catch_alarm);
+
+    gWindow = create_sk_window(NULL, argc, argv);
+
+    // drain any events that occurred before gWindow was assigned.
+    while (SkEvent::ProcessEvent());
+
+    // Start normal Skia sequence
+    application_init();
+
+    gWindow->loop();
+
+    delete gWindow;
+    application_term();
+    return 0;
+}
+
+// SkEvent handlers
+
+void SkEvent::SignalNonEmptyQueue()
+{
+    if (gWindow) {
+        gWindow->post_linuxevent();
+    }
+}
+
+void SkEvent::SignalQueueTimer(SkMSec delay)
+{
+    itimerval newTimer;
+    newTimer.it_interval.tv_sec = 0;
+    newTimer.it_interval.tv_usec = 0;
+    newTimer.it_value.tv_sec = 0;
+    newTimer.it_value.tv_usec = delay * 1000;
+
+    setitimer(ITIMER_REAL, &newTimer, NULL);
+}