This commit is contained in:
Markus Makela
2015-07-15 15:00:35 +03:00
4 changed files with 21 additions and 19 deletions

View File

@ -1,3 +1,4 @@
[Search page for MaxScale Documentation](http://mariadb-corporation.github.io/MaxScale/Search/) [Search page for MaxScale Documentation](http://mariadb-corporation.github.io/MaxScale/Search/)
# Contents # Contents
@ -19,8 +20,8 @@
## Upgrading MaxScale ## Upgrading MaxScale
- [Upgrading MaxScale from 1.1.1 to 1.2.0](Upgrading-To-MaxScale-1.2.0.md) - [Upgrading MaxScale from 1.1.1 to 1.2.0](Upgrading/Upgrading-To-MaxScale-1.2.0.md)
- [Upgrading MaxScale from 1.0.5 to 1.1.0](Upgrading-To-MaxScale-1.1.0.md) - [Upgrading MaxScale from 1.0.5 to 1.1.0](Upgrading/Upgrading-To-MaxScale-1.1.0.md)
## Reference ## Reference

View File

@ -370,9 +370,14 @@ poll_remove_dcb(DCB *dcb)
/** /**
* Only positive fds can be removed from epoll set. * Only positive fds can be removed from epoll set.
* Cloned DCBs are in the epoll set but do not have a valid file descriptor. * Cloned DCBs can have a state of DCB_STATE_POLLING but are not in
* the epoll set and do not have a valid file descriptor. Hence the
* only action for them is already done - the change of state to
* DCB_STATE_NOPOLLING.
*/ */
if (dcb->fd > 0) { spinlock_release(&dcb->dcb_initlock);
if (dcb->fd > 0)
{
rc = epoll_ctl(epoll_fd, EPOLL_CTL_DEL, dcb->fd, &ev); rc = epoll_ctl(epoll_fd, EPOLL_CTL_DEL, dcb->fd, &ev);
/** /**
* The poll_resolve_error function will always * The poll_resolve_error function will always
@ -381,13 +386,9 @@ poll_remove_dcb(DCB *dcb)
*/ */
if (rc) rc = poll_resolve_error(dcb, errno, false); if (rc) rc = poll_resolve_error(dcb, errno, false);
if (rc) raise(SIGABRT); if (rc) raise(SIGABRT);
}
else
{
rc = 0;
}
/*< Set bit for each maxscale thread */ /*< Set bit for each maxscale thread */
bitmask_copy(&dcb->memdata.bitmask, poll_bitmask()); bitmask_copy(&dcb->memdata.bitmask, poll_bitmask());
}
return rc; return rc;
} }