diff options
| author | Martin Sustrik <sustrik@250bpm.com> | 2010-09-26 19:22:33 +0200 | 
|---|---|---|
| committer | Martin Sustrik <sustrik@250bpm.com> | 2010-09-26 19:22:33 +0200 | 
| commit | 8d7bf6684cbb9625ec7c963b8867e2411b49eb57 (patch) | |
| tree | 934d18199f7ba555235feff84df310a99b075a6c /src/kqueue.cpp | |
| parent | cf815e8c785254d97190f223765fbbd19a1e6d52 (diff) | |
common base for all pollers created; the only thing it handles at the moment is 'load'
Diffstat (limited to 'src/kqueue.cpp')
| -rw-r--r-- | src/kqueue.cpp | 15 | 
1 files changed, 5 insertions, 10 deletions
| diff --git a/src/kqueue.cpp b/src/kqueue.cpp index f76a08f..47178d3 100644 --- a/src/kqueue.cpp +++ b/src/kqueue.cpp @@ -54,10 +54,6 @@ zmq::kqueue_t::kqueue_t () :  zmq::kqueue_t::~kqueue_t ()  {      worker.stop (); - -    //  Make sure there are no fds registered on shutdown. -    zmq_assert (load.get () == 0); -      close (kqueue_fd);  } @@ -74,7 +70,7 @@ void zmq::kqueue_t::kevent_delete (fd_t fd_, short filter_)  {      struct kevent ev; -    EV_SET (&ev, fd_, filter_, EV_DELETE, 0, 0, (kevent_udata_t)NULL); +    EV_SET (&ev, fd_, filter_, EV_DELETE, 0, 0, (kevent_udata_t) NULL);      int rc = kevent (kqueue_fd, &ev, 1, NULL, 0, NULL);      errno_assert (rc != -1);  } @@ -90,6 +86,8 @@ zmq::kqueue_t::handle_t zmq::kqueue_t::add_fd (fd_t fd_,      pe->flag_pollout = 0;      pe->reactor = reactor_; +    adjust_load (1); +      return pe;  } @@ -102,6 +100,8 @@ void zmq::kqueue_t::rm_fd (handle_t handle_)          kevent_delete (pe->fd, EVFILT_WRITE);      pe->fd = retired_fd;      retired.push_back (pe); + +    adjust_load (-1);  }  void zmq::kqueue_t::set_pollin (handle_t handle_) @@ -144,11 +144,6 @@ void zmq::kqueue_t::cancel_timer (i_poll_events *events_, int id_)          timers.erase (it);  } -int zmq::kqueue_t::get_load () -{ -    return load.get (); -} -  void zmq::kqueue_t::start ()  {      worker.start (worker_routine, this); | 
