Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Interrupting the in/out threads so they can get out of select() #189

Open
wants to merge 103 commits into
base: master
Choose a base branch
from

Conversation

zanella
Copy link

@zanella zanella commented Oct 13, 2016

Since the thread gets stuck in the selector you get a leak of fds, and threads

pankdm and others added 30 commits April 10, 2013 12:37
…sage.parse

Order of the parameters to the HTTPAnnounceRequestMessage constructor was incorrect in the parse() method. Thanks to Dan Oxlade for reporting the problem.

Closes mpetazzoni#48.

Signed-off-by: Maxime Petazzoni <[email protected]>
Allow trackerless torrent files mpetazzoni#2

Signed-off-by: Maxime Petazzoni <[email protected]>
…h InboundThread and OutboundThread to a common ExchangeThread superclass.
Add ability to set upload/download rate limits.

Signed-off-by: Maxime Petazzoni <[email protected]>
Fix read when message size wasn't read in one step

Signed-off-by: Maxime Petazzoni <[email protected]>
BDecode support for negative integers

Signed-off-by: Maxime Petazzoni <[email protected]>
Fixes bug with selecting the announce client

A previous change introduced a bug in the selection
of the announce tier and client. Closes mpetazzoni#51.

Signed-off-by: Maxime Petazzoni <[email protected]>
Use maven-shade-plugin to produce executable jar

Signed-off-by: Maxime Petazzoni <[email protected]>
Update pom for compatibility with the maven-release-plugin

Signed-off-by: Maxime Petazzoni <[email protected]>
Clean up javadoc problems

Signed-off-by: Maxime Petazzoni <[email protected]>
Shell script updates for wider platform compatibility

Signed-off-by: Maxime Petazzoni <[email protected]>
Move entry-point main methods to separate package

Signed-off-by: Maxime Petazzoni <[email protected]>
philipphenkel and others added 26 commits January 16, 2016 21:04
Bitfield payload was truncated to the highest bit that was set. As a
consequence clients dropped the connection.

This is one of two changes required to resolve issues 91: download
resume not working
mpetazzoni#91
This change fixes a race condition in peer message exchange. First
incoming messages can be lost because incoming thread is started before
it is possible to register a message listener. There is a high
probability of missing the peer’s bitfield message immediately after
handshake and as a consequence downloads will not resume.

This fix is required to resolve issue mpetazzoni#91
mpetazzoni#91
Fixed bitfield payload in bitfield message
Remove dependency on Apache comons-codec
…eerexchange

Allow immedidate shutdown of peerexchange by notifying out-going thread
This change prevents the modification of a storage file in case the
file is already complete and all pieces are available.
…ng-file-only-if-required

Change the length of an existing storage file only if required
In preparation of incoming 1.5 release, with the cli/core split.

Signed-off-by: Maxime Petazzoni <[email protected]>
The old implementation of byteArrayToHexString drops the byte array’s
leading zeros.
…tring

Fix byteArrayToHexString and add tests
Unchoke the random peer in optimistic unchoking
Fixed a BufferUnderflowException in message parsing when PeerExchange is closing
@zanella
Copy link
Author

zanella commented Oct 13, 2016

Another approach is to use select(long timeout), but I assumed this one (timeout) would use more CPU, and as is per this MR my daemon has stopped leaking fds / threads already

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.