diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2008-03-29 08:17:58 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2008-03-29 08:17:58 +0000 |
commit | b395dd5ff5a678dc8d1e33f5dab2390ec3d17152 (patch) | |
tree | 944c0eff8d458be41d1c9925817c2847c672c1e5 /ACE/ace/Select_Reactor_Base.cpp | |
parent | 39659527923a5808d8d06f547c7f2db8e0e285a3 (diff) | |
download | ATCD-b395dd5ff5a678dc8d1e33f5dab2390ec3d17152.tar.gz |
Sat Mar 29 08:16:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl>
Diffstat (limited to 'ACE/ace/Select_Reactor_Base.cpp')
-rw-r--r-- | ACE/ace/Select_Reactor_Base.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ACE/ace/Select_Reactor_Base.cpp b/ACE/ace/Select_Reactor_Base.cpp index 5b40ddfab5b..e86008aaf85 100644 --- a/ACE/ace/Select_Reactor_Base.cpp +++ b/ACE/ace/Select_Reactor_Base.cpp @@ -411,6 +411,18 @@ ACE_Select_Reactor_Handler_Repository_Iterator::ACE_Select_Reactor_Handler_Repos : rep_ (s), current_ (s->event_handlers_.begin ()) { +#ifndef ACE_WIN32 + // Don't use ACE_Array_Base::end() since it may be larger than + // event_handlers[max_handlep1_]. + const_base_iterator const end = + &this->rep_->event_handlers_[this->rep_->max_handlep1 ()]; + + // Advance to the next element containing a non-zero event handler. + // There's no need to do this for the Windows case since the hash + // map will only contain non-zero event handlers. + while (this->current_ != end && (*(this->current_) == 0)) + ++this->current_; +#endif } // Pass back the <next_item> that hasn't been seen in the Set. |