diff options
author | Sean Gillespie <segilles@microsoft.com> | 2017-11-09 09:58:47 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-11-09 09:58:47 -0800 |
commit | e64cbb5c722ab9b7d93ca32445e17df1115be70c (patch) | |
tree | 493ffcbff24c7d14c950187606a3635e51c05bec /src/vm/gcenv.ee.h | |
parent | b45e91e74ff4d721e3b44e260e673ef024ddb774 (diff) | |
download | coreclr-e64cbb5c722ab9b7d93ca32445e17df1115be70c.tar.gz coreclr-e64cbb5c722ab9b7d93ca32445e17df1115be70c.tar.bz2 coreclr-e64cbb5c722ab9b7d93ca32445e17df1115be70c.zip |
[Local GC] Unify background GC thread and server GC thread creation (#14821)
* Initial cut, ignoring thread affinity
* Integrate thread affinity
* Affinity for standalone Windows
* Add 'specialness' and the thread name as arguments to CreateThread
* First crack at unified implementation
* Set priority for server GC threads
* Remove unused parameter
* Address code review feedback and remove some dead code that broke the clang build
* Use char* on the interface instead of wchar_t (doesn't play well cross-platform)
* Rename IsGCSpecialThread -> CurrentThreadWasCreatedByGC
* Code review feedback and fix up the build
* rename CurrentThreadWasCreatedByGC -> WasCurrentThreadCreatedByGC
* Fix a contract violation when converting string encodings
* Thread::CreateUtilityThread returns a thread that is not suspended - restarting a non-suspended thread is incorrect
* CreateUnsuspendableThread -> CreateNonSuspendableThread
Diffstat (limited to 'src/vm/gcenv.ee.h')
-rw-r--r-- | src/vm/gcenv.ee.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/vm/gcenv.ee.h b/src/vm/gcenv.ee.h index 063fa2554e..b2ada36bcd 100644 --- a/src/vm/gcenv.ee.h +++ b/src/vm/gcenv.ee.h @@ -36,7 +36,6 @@ public: gc_alloc_context * GetAllocContext(Thread * pThread); bool CatchAtSafePoint(Thread * pThread); void GcEnumAllocContexts(enum_alloc_context_func* fn, void* param); - Thread* CreateBackgroundThread(GCBackgroundThreadFunction threadStart, void* arg); // Diagnostics methods. void DiagGCStart(int gen, bool isInduced); @@ -59,7 +58,8 @@ public: bool GetStringConfigValue(const char* key, const char** value); void FreeStringConfigValue(const char* value); bool IsGCThread(); - bool IsGCSpecialThread(); + bool WasCurrentThreadCreatedByGC(); + bool CreateThread(void (*threadStart)(void*), void* arg, bool is_suspendable, const char* name); }; } // namespace standalone |