Browse Source

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.
v0.7.4-release
Ryan Dahl 15 years ago
parent
commit
fdbc9a82e4
  1. 6
      src/node.cc

6
src/node.cc

@ -1240,7 +1240,13 @@ int main(int argc, char *argv[]) {
evcom_ignore_sigpipe(); evcom_ignore_sigpipe();
// Initialize the default ev loop. // 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); ev_default_loop(EVFLAG_AUTO);
#endif
ev_timer_init(&node::gc_timer, node::GCTimeout, GC_INTERVAL, GC_INTERVAL); ev_timer_init(&node::gc_timer, node::GCTimeout, GC_INTERVAL, GC_INTERVAL);

Loading…
Cancel
Save