Skip to content

Conversation

@jonpryor
Copy link
Contributor

@jonpryor jonpryor commented Jun 1, 2016

Partially reverst commit f0fa3c3.

The problem with f0fa3c3 is that Mono.Cecil follows the normal .NET
guidelines with respect to thread safety: static members are
thread-safe, but instance members are not thread safe.

Meaning accessing e.g. TypeDefinition.Methods isn't thread-safe.

Attempting to generate Java Callable Wrappers in parallel can result
in "bizarre" Javav code wherein not all Java members which should be
overridden are actually overidden, presumably because the
TypeDefinition of the type, some base type, or some implemented
interface, is being used concurrently from multiple threads.

Revert the Task use from commit f0fa3c3 and generate
Java Callable Wrappers sequentially, so that they're valid.

Partially reverst commit f0fa3c3.

The problem with f0fa3c3 is that Mono.Cecil follows the normal .NET
guidelines with respect to thread safety: static members are
thread-safe, but *instance members are not thread safe*.

Meaning accessing e.g. `TypeDefinition.Methods` isn't thread-safe.

Attempting to generate Java Callable Wrappers in parallel can result
in "bizarre" Javav code wherein not all Java members which should be
overridden are actually overidden, presumably because the
TypeDefinition of the type, some base type, or some implemented
interface, is being used concurrently from multiple threads.

Revert the Task use from commit f0fa3c3 and generate
Java Callable Wrappers sequentially, so that they're valid.
@atsushieno atsushieno merged commit 4ace37f into dotnet:master Jun 1, 2016
radekdoulik added a commit to radekdoulik/java.interop that referenced this pull request Aug 27, 2018
Changes in xamarin-android-tools between 75530565b6aa903b3a0e52b61df4dd94475a19fc and 9e78d6ee586b498d0ea082b3bc00432c23583dd1:

9e78d6e (HEAD, origin/master, origin/HEAD, master) [tests] fix test failures on Windows (dotnet#47)
bdf0158 Better support no installed JDKs on macOS (dotnet#48)
6353659 Log what is happening during path selection (dotnet#46)
3ef860b Take BUILD_NUMBER into consideration for Version sorting (dotnet#45)
d3de054 Allow an optional locator to be provided to JdkInfo (dotnet#43)
917d3b3 Don't require quotes around `release` values (dotnet#41)
7427692 [tests] Unit tests for finding NDK location based on $PATH (dotnet#40)
dbc517b Merge pull request dotnet#38 from jonpryor/jonp-ndk-via-path
511d580 Allow finding NDK location based on $PATH
b42c217 [tests] Fix DetectAndSetPreferredJavaSdkPathToLatest() test (dotnet#37)
a4aad18 Add AndroidSdkInfo.DetectAndSetPreferredJavaSdkPathToLatest() (dotnet#35)
fae7e0a [tests] Remove temporary directories (dotnet#36)
07c4c2b [Xamarin.Android.Tools.AndroidSdk] Revert JDK validation (dotnet#34)
radekdoulik added a commit that referenced this pull request Aug 27, 2018
Changes in xamarin-android-tools between 75530565b6aa903b3a0e52b61df4dd94475a19fc and 9e78d6ee586b498d0ea082b3bc00432c23583dd1:

9e78d6e (HEAD, origin/master, origin/HEAD, master) [tests] fix test failures on Windows (#47)
bdf0158 Better support no installed JDKs on macOS (#48)
6353659 Log what is happening during path selection (#46)
3ef860b Take BUILD_NUMBER into consideration for Version sorting (#45)
d3de054 Allow an optional locator to be provided to JdkInfo (#43)
917d3b3 Don't require quotes around `release` values (#41)
7427692 [tests] Unit tests for finding NDK location based on $PATH (#40)
dbc517b Merge pull request #38 from jonpryor/jonp-ndk-via-path
511d580 Allow finding NDK location based on $PATH
b42c217 [tests] Fix DetectAndSetPreferredJavaSdkPathToLatest() test (#37)
a4aad18 Add AndroidSdkInfo.DetectAndSetPreferredJavaSdkPathToLatest() (#35)
fae7e0a [tests] Remove temporary directories (#36)
07c4c2b [Xamarin.Android.Tools.AndroidSdk] Revert JDK validation (#34)
@github-actions github-actions bot locked and limited conversation to collaborators Apr 15, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants