- Notifications
You must be signed in to change notification settings - Fork750
Add soft shutdown#958
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
Merged
Uh oh!
There was an error while loading.Please reload this page.
Merged
Changes fromall commits
Commits
Show all changes
163 commits Select commitHold shift + click to select a range
d1928dc
Drop LoadLibrary dependency
amos402f000e08
Explain for getting _PyObject_NextNotImplemented
amos402f882400
Update changelog and authors
amos402b7715ee
Merge branch 'master' into drop-dlopen
filmor41ac665
Merge remote-tracking branch 'remotes/upstream/master' into drop-dlopen
amos402c6dae9e
Merge branch 'master' into drop-dlopen
amos4024e19a4f
Add soft shutdown
amos402657452e
* Fix refcnt error
amos40291f64b9
Fixed leaking of tp_name
amos402b07b844
* Reset type slots
amos4027db724e
Clear ExtensionType
amos4022a88be4
Del SlotsHolder from tp_dict when shutting down
amos4022940973
Fix refcnt error of qualname
amos402d108913
Since ClassBase not override tp_init for BaseException, repr(Exceptio…
amos402cc9e7e5
* Use environment variable `PYTHONNET_SOFT_SHUTDOWN` to enable soft s…
amos4021cb8e8c
Fixed deadlock on finalizer after shutdown
amos402653a263
Merge branch 'master' into drop-dlopen
amos402b3e889b
* Load PyModuleType without LibraryLoader
amos40204d6dfb
Merge remote-tracking branch 'remotes/upstream/master' into drop-dlop…
amos4025150e61
Prevent exception override
amos40265e209e
Rollback symbol loading for __Internal
amos402cad95da
Merge remote-tracking branch 'master' into soft-shutdown
amos4020dee5da
Free GC handle for all subclass of ExtensionType
amos40200a0b32
Specific exception types
amos40277da6df
Record mp_length slot
amos4022039e69
* Fix deadlock on domain unload
amos402fe5050d
Fix refcnt error
amos402593fb00
Reset a tuple for tp_bases
amos4021ce83fc
Merge branch 'decref-types' into soft-shutdown
amos402fba616a
Fix refcnt error
amos402bdc0f72
* Use subtype slots instead JIT code
amos40249d98e8
Clear tp_dict of ModuleObject
amos402433d0f6
Manipulate SlotsHolder manually instead of Capsule mechanism
amos4029b4864b
Merge branch 'master' into soft-shutdown
filmor1b466df
* Drop NativeCodePage dependency
amos40249130c4
Remove unused code
amos40276ba510
Add tp_clear for constructorbinding
amos4021ff21ac
tp_clear for EventBinding
amos4020b01378
All base type corrected, remove unnecessary slot set
amos402631bb43
Merge branch 'master' into soft-shutdown
amos402bf3d9f8
Add basic `reload` shutdown mode
amos402da97502
Data synchronization for PyScopeTest.TestThread
amos402e8b3160
Disable `ShutdownMode.Reload` on `NETSTANDARD`
amos40280d4fa0
* Serialize CLRObject
amos4029874cd1
Add ShutdownMode.Default refer to normal mode if no EnvironmentVariab…
amos4028da561b
Not generating the debug info for generated modules
amos4029499c64
`TestDomainReload` use itself assembly instead of dynamic creation
amos402431d644
Merge branch 'master' into drop-dlopen
amos4022b84394
* Fix refcnt error
amos4025ade069
Validate return value
amos4028dabed7
Merge branch 'drop-dlopen' into soft-shutdown
amos402f4bb77a
* API for getting the default shutdown mode
amos402670bd74
In domain test, use soft mode if default mode is normal
amos4023cb56f1
Avoid Domain tests influence other tests when the default is not Soft…
amos4023c9a83c
Skip non-serializable objects
amos402992c469
Merge branch 'soft-shutdown-reload' into soft-shutdown
amos402924b217
Merge branch 'master' into soft-shutdown
amos402df84e29
* Reset Exceptions to IntPtr.Zero
amos4028b51621
Split RuntimeData into separate file
amos40297c8c2a
Extract InitPyMembers method
amos40239f47c8
* Classify runtime data
amos402aa63f0b
* Stash for ImportHook
amos4025b2f3d4
Merge branch 'master' into soft-shutdown
amos40235cbe55
Apply Reference type usage
amos402f23cae6
* Manipulate refcnt in Push/Pop objects
amos402183f9d8
Load cache of ModuleObject after reload
amos4029d57a82
Add temp tests reference by https://github.com/pythonnet/pythonnet/pu…
amos40208fad26
* Fix refcnt error of MethodBinding
amos402bcfdcc7
Test for class object on crossed domain
amos40266ab719
Multi times for running cross dispose
amos4021428af3
Merge branch 'master' into soft-shutdown
amos4028e3c028
Apply Reference type usage
amos402b387e9e
Merge branch 'master' into soft-shutdown
amos402f85999e
Merge branch 'master' into soft-shutdown
amos402cb65af3
Manually merge - remove redundant code
amos402498fc8c
Manually merge - ManagedDataOffsets
amos402cc2219e
Manually merge - capi prototype
amos4028c8d66e
* Move fields of ManagedDataOffsets into nested type
amos4024f00165
Avoid mess up the debug info of runtime module by emit IL code
amos40239e20e3
Merge branch 'master' into soft-shutdown
amos402da7c150
* Fix syntax error
amos40202b1ada
Merge branch 'master' into soft-shutdown
amos402a8840b2
Drop Python 2.7 on CI
amos402dec7a74
Fix refcnt error
amos402e877b33
Get platform information without import `platform`
amos4026d738bf
Run callbacks registered by `atexit` at Shutdown on soft-shutdown mode
amos402ff5edc3
Use named shutdown-mode value by environment value instead of simple …
amos4025ac75ba
Remove dependency on importing `platform`. #891
amos40265cb22e
Don't call exit functions on soft or reload shutdown
BadSingleton73865d4
Adding to AUTHORS.MD
BadSingleton1a75f51
Code review fixes
BadSingleton9b6d140
Merge pull request #1 from Unity-Technologies/reload-shutdown-fix
amos402d9d5562
Remove unused code
BadSingleton9b62a61
Fixes some typos in TestDomainReload
BadSingleton4f0420e
Adds missing assert
BadSingleton4ab9f1c
Adds code comments to CrossDomainObject test
BadSingleton32bcb3a
Adds documentation to TestDomainReload.TestClassReference
BadSingleton0077ea8
Adds numbering to domain names in TestDomainReload
BadSingleton38ea0b6
Use Console.WriteLine formatting overload
BadSingleton06a656e
Inline called-once methods in TestDomainReload
BadSingleton09f8281
Simplify PythonRunner.RunPython
BadSingleton7ec9a6c
Release the GIL
BadSingleton802a43a
BorrowReference instead of increasing the refcount
BadSingleton0fdf969
Add IsTypeObject to Managed type
BadSingleton3a8c72d
Rename PyObjectSerializeContext
BadSingletonb52bc01
Rename StashPush/Pop methods
BadSingletonbfbf2c3
Rename ClassManager.RemoveClasses
BadSingleton883c4ce
Rename ClassManager.OnVisit
BadSingleton7e0d56d
fixup! Inline called-once methods in TestDomainReload
BadSingleton82034dc
Change refcount logic in ImportHook.Shutdown
BadSingleton4ba50a7
Remove TODOS
BadSingleton1ecdce8
Incref a valid pointer
BadSingletonb35f441
Use Py_CLEAR
BadSingletonce8ee90
Fixes GIL grabbing during init and shutdown
BadSingleton4c4bcb0
Add a parameter to specify the shutdown mode.
BadSingletonf575bd3
Add typeoffset.cs
BadSingletond1799aa
Extract utility method in TestDomainReload
BadSingletond2408b9
Add cleanup to ClassInfo
BadSingletonfd2b662
Update comment of `ClassManager.RemoveClasses`
amos4022b7bcac
Fix typo errors
amos4020af3504
Merge remote-tracking branch 'amos/soft-shutdown' into soft-shutdown-…
BadSingletonba1df6e
fixup! Add cleanup to ClassInfo
BadSingleton639ba1f
Add a new PyList constructor
BadSingleton7e5ab52
Revert previous commit "Add cleaunp to class info"
BadSingleton8075f48
Add corrections to the GIL acquiring/releasing
BadSingletoneb8cb8a
Factor out ExtensionType's Gc setup mechanic
BadSingleton308f0f2
Revert "Release the GIL"
BadSingleton1ae0bfe
fixup! Incref a valid pointer
BadSingleton07aefe6
Revert "Add typeoffset.cs"
BadSingleton5387b05
Merge remote-tracking branch 'remotes/upstream/master' into soft-shut…
amos402b203674
Revert local project setting
amos40219d1379
A better fix for releasing a re-acquiring the GIL
BadSingleton25a4064
Add validation for downgrading the shutdown mode
BadSingleton1272b89
Merge remote-tracking branch 'amos/soft-shutdown' into soft-shutdown-…
BadSingleton8c133e3
Fixes for the merge
BadSingletond9b21a5
Revert "Change refcount logic in ImportHook.Shutdown"
BadSingletonc8dee53
Document refcount increase
BadSingleton598cb77
Disambiguate Initialization
BadSingleton83e8dd5
Merge pull request #2 from Unity-Technologies/soft-shutdown-review-co…
amos4026db3181
Revert local changes
amos402e38a363
Remove unused code
amos402b409a89
Check serializability of the whole type hierarchy
BadSingletonf5c24b0
Release the GIL on shutdown only if it can be released
BadSingleton0d6c645
Call `WaitForPendingFinalizers` instead
BadSingletonfa89b48
Revert local changes
amos40280a7644
Remove unused code
amos40212c0206
Merge pull request #3 from Unity-Technologies/soft-shutdown-review-co…
amos4026a3cfc8
Adds an unchecked version to get a BorrowedReference pointer
BadSingleton98da1fa
Remove compile-time check on NETSTANDARD
BadSingletond7d44e8
fixup! Remove compile-time check on NETSTANDARD
BadSingleton6aa75c5
Factor out the clearing of clr_data
2343f89
Partially Revert "Adds an unchecked version to get a BorrowedReferenc…
cc6b8e4
More changes to use BorrowedReference and NewReference
BadSingletond5fcfa4
fixup! More changes to use BorrowedReference and NewReference
BadSingletonfa47957
fixup! fixup! More changes to use BorrowedReference and NewReference
BadSingletonff956e4
Remove unused method
BadSingletonc7b134c
Merge pull request #4 from Unity-Technologies/soft-shutdown-review-co…
amos40297e61a5
Merge branch 'master' into soft-shutdown
amos4020b9d2c1
Wait for full GC Complete
amos402178cbc8
Release atexit manually
amos4023a17f36
* Remove `fromPython`
amos4023203457
Merge branch 'master' into soft-shutdown
amos4028d00e4c
Merge branch 'master' into soft-shutdown
amos402File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Uh oh!
There was an error while loading.Please reload this page.
Jump to
Jump to file
Failed to load files.
Loading
Uh oh!
There was an error while loading.Please reload this page.
Diff view
Diff view
There are no files selected for viewing
2 changes: 2 additions & 0 deletions.travis.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
2 changes: 2 additions & 0 deletionsAUTHORS.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
1 change: 1 addition & 0 deletionsCHANGELOG.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
6 changes: 4 additions & 2 deletionsappveyor.yml
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.Learn more about bidirectional Unicode characters
Oops, something went wrong.
Uh oh!
There was an error while loading.Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.