src/server/daemon/event_solaris.c

changeset 35
4417619a9bbd
parent 30
27c7511c0e34
child 43
8ac56edb4e94
--- a/src/server/daemon/event_solaris.c	Thu Aug 09 11:08:49 2012 +0200
+++ b/src/server/daemon/event_solaris.c	Sat Aug 18 11:39:34 2012 +0200
@@ -69,7 +69,10 @@
         conf->handler = ev;
         conf->port = ev->ports[i];
         
-        systhread_start(0, 0, (thrstartfunc)ev_handle_events, ev);
+        ev_thr_conf_t *thrconf = malloc(sizeof(ev_thr_conf_t));
+        thrconf->handler = ev;
+        thrconf->port = ev->ports[i];
+        systhread_start(0, 0, (thrstartfunc)ev_handle_events, thrconf);
         /* TODO: error handling */
     }
     
@@ -93,6 +96,7 @@
         int ret = port_getn(port, events, 16, &nev, &timeout);
         if(ret == -1) {
             /* TODO: check for error */
+            perror("port_getn");
             continue;
         }
         
@@ -109,7 +113,7 @@
 int ev_get_port(event_handler_t *h) {
     int nps = h->nports;
     if(nps == 1) {
-        return 0;
+        return h->ports[0];
     }
     
     int cp = h->lp % nps;

mercurial