Changeset 3:e4ca2e057cec in xplcommon for src/xplcommon/posix/Waiter.cc
- Timestamp:
- 12/27/12 13:01:22 (11 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
src/xplcommon/posix/Waiter.cc
r1 r3 30 30 //------------------------------------------------------------------------------ 31 31 32 #include "config.h" 33 #ifdef HAVE_POLL_H 32 #include "Waiter.h" 34 33 35 //------------------------------------------------------------------------------ 36 37 #include "POSIXWaiter.h" 38 #include "POSIXWaitable.h" 34 #include "Waitable.h" 39 35 40 36 #include <cassert> … … 43 39 //------------------------------------------------------------------------------ 44 40 45 using xplcommon:: POSIXWaiter;41 using xplcommon::posix::Waiter; 46 42 47 43 //------------------------------------------------------------------------------ 48 44 49 inline bool POSIXWaiter::hasReady() const45 inline bool Waiter::hasReady() const 50 46 { 51 47 for(waitables_t::const_iterator i = waitables.begin(); i!=waitables.end(); 52 48 ++i) 53 49 { 54 POSIXWaitable* waitable = i->second;50 Waitable* waitable = i->second; 55 51 if (waitable->ready()) return true; 56 52 } … … 60 56 //------------------------------------------------------------------------------ 61 57 62 inline size_t POSIXWaiter::setupPollFDs(pollfd* pollFDs)58 inline size_t Waiter::setupPollFDs(pollfd* pollFDs) 63 59 { 64 60 size_t numValid = 0; … … 67 63 ++i) 68 64 { 69 POSIXWaitable* waitable = i->second;65 Waitable* waitable = i->second; 70 66 if (waitable->events==0) continue; 71 67 … … 82 78 //------------------------------------------------------------------------------ 83 79 84 inline void POSIXWaiter::processPollFDs(const pollfd* pollFDs, size_t size)80 inline void Waiter::processPollFDs(const pollfd* pollFDs, size_t size) 85 81 { 86 82 for(size_t i = 0; i<size; ++i) { … … 89 85 waitables_t::iterator j = waitables.find(pollFD.fd); 90 86 assert(j!=waitables.end()); 91 POSIXWaitable* waitable = j->second;87 Waitable* waitable = j->second; 92 88 waitable->handleEvents(pollFD.revents); 93 89 } … … 97 93 //------------------------------------------------------------------------------ 98 94 99 POSIXWaiter::~POSIXWaiter()95 Waiter::~Waiter() 100 96 { 101 97 for(waitables_t::iterator i = waitables.begin(); i!=waitables.end(); ++i) 102 98 { 103 POSIXWaitable* waitable = i->second;99 Waitable* waitable = i->second; 104 100 waitable->waiter = 0; 105 101 } … … 108 104 //------------------------------------------------------------------------------ 109 105 110 bool POSIXWaiter::wait(int timeout)106 bool Waiter::wait(int timeout) 111 107 { 112 108 if (hasReady()) return true; … … 118 114 119 115 if (result<0) { 120 perror(" POSIXWaiter::wait: poll");116 perror("xplcommon::posix::Waiter::wait: poll"); 121 117 return false; 122 118 } else if (result>0) { … … 129 125 //------------------------------------------------------------------------------ 130 126 131 void POSIXWaiter::add(POSIXWaitable* waitable)127 void Waiter::add(Waitable* waitable) 132 128 { 133 129 assert(waitable->fd>=0); … … 139 135 //------------------------------------------------------------------------------ 140 136 141 void POSIXWaiter::remove(POSIXWaitable* waitable)137 void Waiter::remove(Waitable* waitable) 142 138 { 143 139 assert(numWaitables>0); … … 150 146 151 147 //------------------------------------------------------------------------------ 152 #endif // HAVE_POLL_H153 148 154 149 // Local Variables:
Note:
See TracChangeset
for help on using the changeset viewer.