Changeset 971
- Timestamp:
- 03/11/07 11:46:01 (6 years ago)
- Files:
-
- 1 modified
-
trunk/pdns/pdns/win32_mtasker.cc (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pdns/pdns/win32_mtasker.cc
r809 r971 245 245 return true; 246 246 } 247 247 248 if(!d_waiters.empty()) { 248 time_t now=time(0); 249 for(typename waiters_t::const_iterator i=d_waiters.begin();i!=d_waiters.end();) { 250 if(i->ttd && i->ttd<now) { 249 typedef typename waiters_t::template index<KeyTag>::type waiters_by_ttd_index_t; 250 // waiters_by_ttd_index_t& ttdindex=d_waiters.template get<KeyTag>(); 251 waiters_by_ttd_index_t& ttdindex=boost::multi_index::get<KeyTag>(d_waiters); 252 253 for(typename waiters_by_ttd_index_t::iterator i=ttdindex.begin(); i != ttdindex.end(); ) { 254 if(i->ttd && (unsigned int)i->ttd < now) { 251 255 d_waitstatus=TimeOut; 252 256 SwitchToFiber(i->context); 253 d_waiters.erase(i++); // removes the waitpoint257 ttdindex.erase(i++); // removes the waitpoint 254 258 } 255 else ++i; 259 else if(i->ttd) 260 break; 256 261 } 257 262 }