Changeset 1093

Show
Ignore:
Timestamp:
10/08/07 09:14:16 (1 year ago)
Author:
ahu
Message:

further fix for Solaris 10 starting to miss packets. Authored and tested by Alex Kiernan.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/pdns/pdns/portsmplexer.cc

    r1091 r1093  
    9292  gettimeofday(now,0); 
    9393   
    94   if(ret < 0) { 
    95     if(errno!=EINTR && errno!=ETIME) 
     94  /* port_getn has an unusual API - (ret == -1, errno == ETIME) can 
     95     mean partial success; you must check (*numevents) in this case 
     96     and process anything in there, otherwise you'll never see any 
     97     events from that object again. We don't care about pure timeouts 
     98     (ret == -1, errno == ETIME, *numevents == 0) so we don't bother 
     99     with that case. */ 
     100  if(ret < 0 && errno!=ETIME) { 
     101    if(errno!=EINTR) 
    96102      throw FDMultiplexerException("completion port_getn returned error: "+stringerror()); 
    97     // EINTR and ETIME are not really errors 
     103    // EINTR is not really an error 
    98104    return 0; 
    99105  }