- changed interpretation of [alpha] colour prefix.
- +option now really sets the option to default, instead of using the
resource value.
+ - the linux yield hack is back, now using usleep, and enabled only on
+ __linux__.
- further round trip eliminations in the !XFT case by remembering
the colour components.
- plain scrollbar works better with -sr.
}
#endif
+#if LINUX_YIELD_HACK
+static struct event_handler
+{
+ check_watcher yield_ev;
+
+ void yield_cb (check_watcher &w)
+ {
+ usleep (0);
+ w.stop ();
+ }
+
+ event_handler ()
+ : yield_ev (this, &event_handler::yield_cb)
+ {
+ }
+} event_handler;
+#endif
+
bool
rxvt_term::pty_fill ()
{
}
else if (r < 0 && (errno == EAGAIN || errno == EINTR))
{
-#if HAVE_SCHED_YIELD
+#if LINUX_YIELD_HACK
if (display->is_local)
- event_handler.cw_yield.start ();
+ event_handler.yield_ev.start ();
#endif
}
else
*/
#define VISUAL_BELL_DURATION .020
+/*--------------------------------OTHER---------------------------------*/
+
+/*
+ * Enable the linux yield/usleep hack, which can dramatically improve
+ * performance without hurting. See command.C for details.
+ */
+#if __linux__
+# define LINUX_YIELD_HACK 1
+#endif
+
#endif