Revision: 485 http://vde.svn.sourceforge.net/vde/?rev=485&view=rev Author: rd235 Date: 2011-03-28 14:56:29 +0000 (Mon, 28 Mar 2011)
Log Message: ----------- bugfix: ther was mainloop_mask_set instead of add. it got stuck on heavy load. Modified Paths: -------------- branches/rd235/vde-2/src/vde_switch/port.c branches/rd235/vde-2/src/vde_switch/vde_switch.c Modified: branches/rd235/vde-2/src/vde_switch/port.c =================================================================== --- branches/rd235/vde-2/src/vde_switch/port.c 2011-03-28 10:38:48 UTC (rev 484) +++ branches/rd235/vde-2/src/vde_switch/port.c 2011-03-28 14:56:29 UTC (rev 485) @@ -442,7 +442,7 @@ Port->ms->sender(ep->fd_ctl, ep->fd_data, (PACKET), (LEN), ep->port) == -EWOULDBLOCK) {\ if (ep->vdepq_count < ep->vdepq_max) \ ep->vdepq_count += vdepq_add(&(ep->vdepq), (PACKET), (LEN), TMPBUF); \ - if (ep->vdepq_count == 1) mainloop_pollmask_set(ep->fd_data, POLLOUT);\ + if (ep->vdepq_count == 1) mainloop_pollmask_add(ep->fd_data, POLLOUT);\ } \ } \ }) Modified: branches/rd235/vde-2/src/vde_switch/vde_switch.c =================================================================== --- branches/rd235/vde-2/src/vde_switch/vde_switch.c 2011-03-28 10:38:48 UTC (rev 484) +++ branches/rd235/vde-2/src/vde_switch/vde_switch.c 2011-03-28 14:56:29 UTC (rev 485) @@ -233,25 +233,33 @@ short mainloop_pollmask_get(int fd) { +#if DEBUG_MAINLOOP_MASK if (fds[fdperm[fd]].fd != fd) printf("PERMUTATION ERROR %d %d\n",fds[fdperm[fd]].fd,fd); +#endif return fds[fdperm[fd]].events; } void mainloop_pollmask_add(int fd, short events) { +#if DEBUG_MAINLOOP_MASK if (fds[fdperm[fd]].fd != fd) printf("PERMUTATION ERROR %d %d\n",fds[fdperm[fd]].fd,fd); +#endif fds[fdperm[fd]].events |= events; } void mainloop_pollmask_del(int fd, short events) { +#if DEBUG_MAINLOOP_MASK if (fds[fdperm[fd]].fd != fd) printf("PERMUTATION ERROR %d %d\n",fds[fdperm[fd]].fd,fd); +#endif fds[fdperm[fd]].events &= ~events; } void mainloop_pollmask_set(int fd, short events) { +#if DEBUG_MAINLOOP_MASK if (fds[fdperm[fd]].fd != fd) printf("PERMUTATION ERROR %d %d\n",fds[fdperm[fd]].fd,fd); +#endif fds[fdperm[fd]].events = events; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. ------------------------------------------------------------------------------ Enable your software for Intel(R) Active Management Technology to meet the growing manageability and security demands of your customers. Businesses are taking advantage of Intel(R) vPro (TM) technology - will your software be a part of the solution? Download the Intel(R) Manageability Checker today! http://p.sf.net/sfu/intel-dev2devmar _______________________________________________ vde-users mailing list vde-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/vde-users