summaryrefslogtreecommitdiff
path: root/src/vm/gcenv.ee.h
diff options
context:
space:
mode:
authorSean Gillespie <segilles@microsoft.com>2017-11-09 09:58:47 -0800
committerGitHub <noreply@github.com>2017-11-09 09:58:47 -0800
commite64cbb5c722ab9b7d93ca32445e17df1115be70c (patch)
tree493ffcbff24c7d14c950187606a3635e51c05bec /src/vm/gcenv.ee.h
parentb45e91e74ff4d721e3b44e260e673ef024ddb774 (diff)
downloadcoreclr-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.h4
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