ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/trunk/src/s_bsd_devpoll.c
(Generate patch)

Comparing:
ircd-hybrid/src/s_bsd_devpoll.c (file contents), Revision 30 by adx, Sun Oct 2 20:03:27 2005 UTC vs.
ircd-hybrid/trunk/src/s_bsd_devpoll.c (file contents), Revision 1592 by michael, Sat Oct 27 21:02:32 2012 UTC

# Line 20 | Line 20
20   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
21   *  USA
22   *
23 < *  $Id: s_bsd_devpoll.c,v 7.30 2005/09/18 14:46:02 adx Exp $
23 > *  $Id$
24   */
25  
26   #include "stdinc.h"
27 + #if USE_IOPOLL_MECHANISM == __IOPOLL_MECHANISM_DEVPOLL
28   #include <sys/ioctl.h>
29   /* HPUX uses devpoll.h and not sys/devpoll.h */
30   #ifdef HAVE_DEVPOLL_H
# Line 38 | Line 39
39   #include "fdlist.h"
40   #include "ircd.h"
41   #include "s_bsd.h"
42 < #include "s_log.h"
42 > #include "log.h"
43  
44   static fde_t dpfd;
45  
# Line 55 | Line 56 | init_netio(void)
56  
57    if ((fd = open("/dev/poll", O_RDWR)) < 0)
58    {
59 <    ilog(L_CRIT, "init_netio: Couldn't open /dev/poll - %d: %s",
59 >    ilog(LOG_TYPE_IRCD, "init_netio: Couldn't open /dev/poll - %d: %s",
60           errno, strerror(errno));
61      exit(115); /* Whee! */
62    }
# Line 81 | Line 82 | devpoll_write_update(int fd, int events)
82  
83    /* Write the thing to our poll fd */
84    if (write(dpfd.fd, &pfd, sizeof(pfd)) != sizeof(pfd))
85 <    ilog(L_NOTICE, "devpoll_write_update: dpfd write failed %d: %s",
85 >    ilog(LOG_TYPE_IRCD, "devpoll_write_update: dpfd write failed %d: %s",
86           errno, strerror(errno));
87   }
88  
# Line 109 | Line 110 | comm_setselect(fde_t *F, unsigned int ty
110      F->write_data = client_data;
111    }
112  
113 <  new_events = (F->read_handler ? POLLRDNORM : 0) |
114 <    (F->write_handler ? POLLWRNORM : 0);
113 >  new_events = (F->read_handler ? POLLIN : 0) |
114 >    (F->write_handler ? POLLOUT : 0);
115  
116    if (timeout != 0)
117      F->timeout = CurrentTime + (timeout / 1000);
# Line 161 | Line 162 | comm_select(void)
162      if (F == NULL || !F->flags.open)
163        continue;
164  
165 <    if ((dopoll.dp_fds[i].revents & (POLLRDNORM | POLLIN | POLLHUP | POLLERR)))
165 >    if ((dopoll.dp_fds[i].revents & POLLIN))
166        if ((hdl = F->read_handler) != NULL)
167        {
168          F->read_handler = NULL;
169          hdl(F, F->read_data);
170 <        if (!F->flags.open)
171 <          continue;
170 >        if (!F->flags.open)
171 >          continue;
172        }
173  
174 <    if ((dopoll.dp_fds[i].revents & (POLLWRNORM | POLLOUT | POLLHUP | POLLERR)))
174 >    if ((dopoll.dp_fds[i].revents & POLLOUT))
175        if ((hdl = F->write_handler) != NULL)
176        {
177          F->write_handler = NULL;
178          hdl(F, F->write_data);
179 <        if (!F->flags.open)
180 <          continue;
179 >        if (!F->flags.open)
180 >          continue;
181        }
182  
183      comm_setselect(F, 0, NULL, NULL, 0);
184    }
185   }
186 + #endif

Comparing:
ircd-hybrid/src/s_bsd_devpoll.c (property svn:keywords), Revision 30 by adx, Sun Oct 2 20:03:27 2005 UTC vs.
ircd-hybrid/trunk/src/s_bsd_devpoll.c (property svn:keywords), Revision 1592 by michael, Sat Oct 27 21:02:32 2012 UTC

# Line 1 | Line 1
1 < "Id Revision"
1 > Id Revision

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)