Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: jruby/jruby-ossl
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: jruby/jruby-ossl
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: JRUBY-5200_select
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 1 file changed
  • 1 contributor

Commits on Dec 2, 2010

  1. Proof of concept fix for JRUBY-5200: configureBlocking free select.

    RubyThread.select for both sysread and syswrite is a source of deadlock
    when 2 operations are running by different Thread. RubyThread.select try
    to synchronize SelectableChannel.blockingLock first so it cannot be used
    for different SelectionKey.OP_* operations.
    
    This commit copies RubyThread.select to SSLSocket and remove
    blockingLock. This impl just set
    SelectableChannel.configureBlocking(false) permanently instead of
    setting temporarily. SSLSocket requires wrapping IO to be selectable so
    it should be OK to set configureBlocking(false) permanently I think...
    Hiroshi Nakamura committed Dec 2, 2010
    Configuration menu
    Copy the full SHA
    7843842 View commit details
    Browse the repository at this point in the history
Loading