Changeset 971

Show
Ignore:
Timestamp:
03/11/07 11:46:01 (6 years ago)
Author:
ahu
Message:

fix windows build

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/pdns/pdns/win32_mtasker.cc

    r809 r971  
    245245    return true; 
    246246  } 
     247 
    247248  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) { 
    251255        d_waitstatus=TimeOut; 
    252256        SwitchToFiber(i->context); 
    253         d_waiters.erase(i++);                  // removes the waitpoint 
     257        ttdindex.erase(i++);                  // removes the waitpoint  
    254258      } 
    255       else ++i; 
     259      else if(i->ttd) 
     260        break; 
    256261    } 
    257262  }