From fdbc9a82e44511e3b94babf3534e9feac0c3f0cf Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Tue, 2 Mar 2010 10:39:02 -0800 Subject: [PATCH] Use EVBACKEND_SELECT on Solaris Using EVBACKEND_PORT DTraceToolkit-0.99/Proc/syscallbypid.d reports after 5 seconds PID CMD SYSCALL COUNT . . . . . . . . . . . . 28551 mysqld fcntl 485 24793 httpd gtime 528 28551 mysqld read 707 28551 mysqld gtime 956 21050 rsync pollsys 965 21050 rsync read 965 24793 httpd read 982 28551 mysqld lwp_sigmask 1422 4675 dtrace ioctl 1579 15136 node portfs 15681 15136 node clock_gettime 31358 On a very simple node process. --- src/node.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/node.cc b/src/node.cc index 57c61b08053..d760c72976c 100644 --- a/src/node.cc +++ b/src/node.cc @@ -1240,7 +1240,13 @@ int main(int argc, char *argv[]) { evcom_ignore_sigpipe(); // Initialize the default ev loop. +#ifdef __sun + // TODO(Ryan) I'm experiencing abnormally high load using Solaris's + // EVBACKEND_PORT. Temporarally forcing select() until I debug. + ev_default_loop(EVBACKEND_SELECT); +#else ev_default_loop(EVFLAG_AUTO); +#endif ev_timer_init(&node::gc_timer, node::GCTimeout, GC_INTERVAL, GC_INTERVAL);