I2P Address: [http://git.idk.i2p]

Skip to content
Snippets Groups Projects
  • jrandom's avatar
    60584228
    refactored packet handling into type specific methods · 60584228
    jrandom authored and zzz's avatar zzz committed
    removed nested synchronization (which had been causing undetected deadlocks)
    made sync blocks smaller, though this may have opened holes related to
    resent ACK/SYN/CLOSE packets that are delivered in a race.  I'm not as
    fluent in the ministreaming lib code as i should be (yet), but duck's thread
    dumps were showing hundreds of threads waiting on a lock that'll never get
    released (since the only way to release it would be to receive another
    packet, and no more packets can be received until the lock is released, etc)
    also, I2PSession is threadsafe - i can see no reason to synchronize on it
    (and it was being synchronized on only part of the time?)
    also, refactored the charset encoding stuff and minor log tweaking
    i've been testing this for the last hour or so, on eepsites and squid (large
    and small files), as well as irc, and there haven't been any glitches.  but
    it needs more testing before it can be released, obviously.
    60584228
    History
    refactored packet handling into type specific methods
    jrandom authored and zzz's avatar zzz committed
    removed nested synchronization (which had been causing undetected deadlocks)
    made sync blocks smaller, though this may have opened holes related to
    resent ACK/SYN/CLOSE packets that are delivered in a race.  I'm not as
    fluent in the ministreaming lib code as i should be (yet), but duck's thread
    dumps were showing hundreds of threads waiting on a lock that'll never get
    released (since the only way to release it would be to receive another
    packet, and no more packets can be received until the lock is released, etc)
    also, I2PSession is threadsafe - i can see no reason to synchronize on it
    (and it was being synchronized on only part of the time?)
    also, refactored the charset encoding stuff and minor log tweaking
    i've been testing this for the last hour or so, on eepsites and squid (large
    and small files), as well as irc, and there haven't been any glitches.  but
    it needs more testing before it can be released, obviously.