sourcemod/public
David Anderson f76cb94511 Pare down ThreadSupport and remove ancient thread code.
This patch removes almost all of the existing platform-specific
ThreadSupport code, as well as code derived from it. It is now
implemented on top of C++11 threads and is much simpler.

This is the first inclusion of STL in SourceMod. Mac and Windows are
allowed to dynamically link to their respective implementations. On
Linux, libstdc++ is statically linked, except in the cases where it was
already dynamically linked (csgo, blade).

IEventSignal has been retained because sourcemod-curl-extension relies
on it. As written, it is impossible to use as a condition variable,
because the caller does not have access to the underlying mutex. There
is no way to make this API safe or non-racy, so extensions relying on
it should switch to C++11 threads.

ThreadWorker is now pared down and does not interact or inherit from
BaseWorker in any way. Basic functionality has been tested. Since it is
not used anywhere in SourceMod, or seemingly in any repository on
GitHub, it's unclear whether it should even exist. But it has been
tested in this patch.

This change bumps the minimum macOS version to OS X 10.7, and the
minimum C++ standard level to C++14.
2020-05-13 00:35:29 -07:00
..
amtl@eb7b6ba084 Update SourcePawn to master. 2019-10-28 21:19:22 -07:00
asm Fix warning/error on newer Clang versions from abort not being defined. 2018-05-06 10:28:24 -04:00
CDetour Clarify detour creation errors (#1191) 2020-02-26 19:14:51 +00:00
doxygen Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
extensions IBinTools: Block loading incompatible interface versions (#979) 2019-04-11 14:51:38 -07:00
jit 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
libudis86 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
mms_sample_ext Fixed build error in mms_sample_ext from cset d17aed3d46bf (r=psychonic). 2013-03-16 23:02:36 -04:00
sample_ext NPOTB: Update sample extension params to be sourcehook-friendly (#886) 2018-09-22 21:55:05 -07:00
AutoHandleRooter.h Move scared guts of core into logic (bug 5680, r=fyren). 2013-03-29 11:37:29 -07:00
compat_wrappers.h Remove support for Source 1 Dota 2. (#496) 2016-04-26 23:18:47 -04:00
IAdminSystem.h Move adminsys and more natives from core to logic. 2014-05-29 13:31:12 -04:00
IADTFactory.h Switch ADTFactory/IBasicTrie off KTrie (bug 5884 part 17, r=ds). 2013-08-25 12:21:15 -07:00
ICellArray.h Add ICellArray and create/free in ISourceMod 2016-08-21 21:32:23 +02:00
IDBDriver.h Add atomic reference counting and port DBI (bug 5876 part 3, r=ds). 2013-08-23 00:18:13 -07:00
IExtensionSys.h Fix Miscellaneous Regressions and UBs (#1022) 2019-05-28 18:04:08 -07:00
IForwardSys.h Don't break backwards compatibility with unmanaged forwards 2017-08-25 23:23:50 +02:00
IGameConfigs.h Make IGameConfig::GetMemSig return value clearer (bug 6081, r=asherkin). 2014-03-29 14:22:53 -04:00
IGameHelpers.h Add support for retrieving game server Steam Id (bug 6404). (#495) 2016-04-26 23:17:08 -04:00
IHandleSys.h Move scared guts of core into logic (bug 5680, r=fyren). 2013-03-29 11:37:29 -07:00
ILibrarySys.h Move scared guts of core into logic (bug 5680, r=fyren). 2013-03-29 11:37:29 -07:00
IMemoryUtils.h Add support for Mac OS X to ResolveSymbol() and FindPattern() in IMemUtils (bug 4392, r=dvander). 2010-05-13 04:20:41 -05:00
IMenuManager.h Move menu natives from core to logic 2014-09-05 08:24:40 -07:00
IPlayerHelpers.h Unify Player::GetSteamXId returns, clarify doc, and fix checks 2014-09-09 17:57:54 -07:00
IPluginSys.h Add an OnPluginWillUnload callback that precedes OnPluginEnd(). 2015-11-01 00:30:37 -07:00
IRootConsoleMenu.h Replace the AddRootConsoleCommand API to not expose internal structures. 2015-08-30 21:01:03 -07:00
IShareSys.h Remove native override API (bug 5852 part 1, r=ds). 2013-08-30 10:10:57 -07:00
ISourceMod.h Burninate IDataPack (#864) 2018-08-13 23:03:48 +01:00
ITextParsers.h Added an SMC stream reader to ITextParser (bug 3530, r=pred). 2009-02-01 20:31:27 -05:00
IThreader.h Pare down ThreadSupport and remove ancient thread code. 2020-05-13 00:35:29 -07:00
ITimerSystem.h Move timer natives into logic binary (bug 4402, r=ds). 2010-05-13 01:47:12 -07:00
ITranslator.h Add Translation Natives (#669) 2017-11-20 21:24:01 -08:00
IUserMessages.h Added initial support for protobuf usermessages on CS:GO (bug 5579, r=asherkin). 2013-01-22 21:43:12 -05:00
metamod_wrappers.h Spring Cleaning, Part Ichi (1) 2008-03-30 07:00:22 +00:00
ReentrantList.h Fix re-entrancy issues in CPluginManager by using ReentrantList. 2015-10-31 17:24:22 -07:00
sm_argbuffer.h Fix ArgBuffer String Serialization (#999) 2019-05-04 01:46:55 -07:00
sm_memtable.h Deduplicate a number of files used by extensions by moving them to the public directory (bug 5341, r=psychonic). 2014-04-23 21:19:28 -05:00
sm_namehashset.h Individualize NameHashSet Hashing & Revisit #709 (#740) 2018-07-10 17:38:40 -04:00
sm_platform.h 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
sm_queue.h Move DBManager and DB natives from core to logic (bug 5953, r=fyren). 2013-10-09 08:43:08 -04:00
sm_stringhashmap.h Add move semantics for StringHashMap (#589) 2018-07-12 11:25:22 -07:00
sm_trie_tpl.h Switch UserMessages off KTrie (bug 5884 part 11, r=ds). 2013-08-25 12:16:07 -07:00
smsdk_ext.cpp Migrate extensions to common AMTL string funcs (#785) 2018-03-25 13:00:53 -07:00
smsdk_ext.h Migrate extensions to common AMTL string funcs (#785) 2018-03-25 13:00:53 -07:00
sourcemod_version.h Bump version for non-VCS builds (#1243) 2020-04-27 15:50:03 +01:00
vtable_hook_helper.h Change SDKHooks to VTable Hooks (bug 6070, r=psychonic). 2014-03-23 22:11:06 -06:00