sourcemod/core/logic
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
..
AdminCache.cpp Adjust CanAdminTarget to support multiple Group Immunity IDs (#1147) 2019-12-23 10:45:36 -08:00
AdminCache.h Individualize NameHashSet Hashing & Revisit #709 (#740) 2018-07-10 17:38:40 -04:00
ADTFactory.cpp Move ADTFactory from core to logic (bug 5953, r=fyren). 2013-10-09 08:43:08 -04:00
ADTFactory.h Move ADTFactory from core to logic (bug 5953, r=fyren). 2013-10-09 08:43:08 -04:00
AMBuilder Pare down ThreadSupport and remove ancient thread code. 2020-05-13 00:35:29 -07:00
BaseWorker.cpp Pare down ThreadSupport and remove ancient thread code. 2020-05-13 00:35:29 -07:00
BaseWorker.h Pare down ThreadSupport and remove ancient thread code. 2020-05-13 00:35:29 -07:00
CDataPack.cpp Add an array operations to CDataPack (#1219) 2020-05-08 15:23:48 -07:00
CDataPack.h Add an array operations to CDataPack (#1219) 2020-05-08 15:23:48 -07:00
CellArray.h Fix crash when ArrayList runs out of memory (#1235) 2020-04-30 17:59:54 +01:00
common_logic.cpp Burninate IDataPack (#864) 2018-08-13 23:03:48 +01:00
common_logic.h 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
Database.cpp Added sm_reload_databases (#773) 2018-10-11 17:36:52 +01:00
Database.h Streamline ConfDb loading proceedure (#791) 2018-06-19 09:35:37 -07:00
DatabaseConfBuilder.cpp Streamline ConfDb loading proceedure (#791) 2018-06-19 09:35:37 -07:00
DatabaseConfBuilder.h Streamline ConfDb loading proceedure (#791) 2018-06-19 09:35:37 -07:00
DebugReporter.cpp Add LogStackTrace native (#685) 2018-06-19 23:18:37 -07:00
DebugReporter.h Add LogStackTrace native (#685) 2018-06-19 23:18:37 -07:00
ExtensionSys.cpp Check other filename sources on remote extensions 2019-07-29 04:00:18 -07:00
ExtensionSys.h Only show extensions that failed to load if the extension is required. 2017-11-30 12:57:12 -05:00
ForwardSys.cpp Don't break backwards compatibility with unmanaged forwards 2017-08-25 23:23:50 +02:00
ForwardSys.h Don't break backwards compatibility with unmanaged forwards 2017-08-25 23:23:50 +02:00
frame_tasks.cpp Don't use server commands to flush plugin unloads. 2015-09-15 19:43:41 -07:00
frame_tasks.h Don't use server commands to flush plugin unloads. 2015-09-15 19:43:41 -07:00
FrameIterator.cpp Prevent FrameIterator OOB Errors (#949) 2019-01-13 13:36:35 -08:00
FrameIterator.h Add FrameIterator to SourceMod (#716). 2017-11-16 18:55:37 -08:00
GameConfigs.cpp Allow different values per platform in "Keys" gamedata section (#765) 2018-02-06 14:40:51 +00:00
GameConfigs.h Individualize NameHashSet Hashing & Revisit #709 (#740) 2018-07-10 17:38:40 -04:00
handle_helpers.h Split intercom.h into separate headers and reduce shared header inclusion. 2015-08-31 10:00:49 -07:00
HandleSys.cpp Move sm_dump_handles to core/logic. 2015-09-20 14:33:10 -07:00
HandleSys.h Individualize NameHashSet Hashing & Revisit #709 (#740) 2018-07-10 17:38:40 -04:00
LibrarySys.cpp Migrate extensions to common AMTL string funcs (#785) 2018-03-25 13:00:53 -07:00
LibrarySys.h Update to the latest AMTL - Rename Ref to RefPtr. 2015-11-08 13:14:57 -08:00
Logger.cpp Replace ke::SafeSprintf with ke::SafeStrcpy (#784) 2018-03-19 20:12:51 +00:00
Logger.h Simplify Logger internals (Fixes Issue #663). (#691) 2017-12-29 19:56:25 -08:00
MemoryUtils.cpp 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
MemoryUtils.h Fixed crash in MemoryUtils::ResolveSymbol() on OS X Lion (10.7) (bug 4951, r=dvander). 2011-06-15 16:02:05 -05:00
MersenneTwister.h Added better random number generator (bug 3831, r=fyren). 2009-10-26 23:59:59 -07:00
Native.h Individualize NameHashSet Hashing & Revisit #709 (#740) 2018-07-10 17:38:40 -04:00
NativeOwner.cpp Keep optional natives optional after reloading 2016-07-21 01:52:47 +02:00
NativeOwner.h Update to the latest AMTL - Rename Ref to RefPtr. 2015-11-08 13:14:57 -08:00
PhraseCollection.cpp Add Translation Natives (#669) 2017-11-20 21:24:01 -08:00
PhraseCollection.h Add Translation Natives (#669) 2017-11-20 21:24:01 -08:00
PluginSys.cpp Pad plugin ID based on the total plugin count (#1027) 2019-06-17 01:06:03 +01:00
PluginSys.h Individualize NameHashSet Hashing & Revisit #709 (#740) 2018-07-10 17:38:40 -04:00
ProfileTools.cpp Replace the AddRootConsoleCommand API to not expose internal structures. 2015-08-30 21:01:03 -07:00
ProfileTools.h Replace the AddRootConsoleCommand API to not expose internal structures. 2015-08-30 21:01:03 -07:00
PseudoAddrManager.cpp 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
PseudoAddrManager.h 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
RootConsoleMenu.cpp Migrate extensions to common AMTL string funcs (#785) 2018-03-25 13:00:53 -07:00
RootConsoleMenu.h Individualize NameHashSet Hashing & Revisit #709 (#740) 2018-07-10 17:38:40 -04:00
ShareSys.cpp Fix Miscellaneous Regressions and UBs (#1022) 2019-05-28 18:04:08 -07:00
ShareSys.h Update to the latest AMTL: remove PassRef. 2015-11-08 13:51:22 -08:00
sm_crc32.cpp Mercurial queues... oh, how terrible. 2010-01-18 03:20:44 -08:00
sm_crc32.h Mercurial queues... oh, how terrible. 2010-01-18 03:20:44 -08:00
sm_simple_prioqueue.h Move DBManager and DB natives from core to logic (bug 5953, r=fyren). 2013-10-09 08:43:08 -04:00
sm_symtable.h Move memutils from core to logic (bug 4406, r=ds). 2010-05-14 16:14:59 -07:00
sm_trie.cpp Move adminsys and more natives from core to logic. 2014-05-29 13:31:12 -04:00
sm_trie.h Move adminsys and more natives from core to logic. 2014-05-29 13:31:12 -04:00
smn_admin.cpp Purge Purge. 2015-03-05 10:56:36 -08:00
smn_adt_array.cpp Add ADT array blocksize getter (#578) 2017-02-09 19:26:14 +00:00
smn_adt_stack.cpp Add ADT array blocksize getter (#578) 2017-02-09 19:26:14 +00:00
smn_adt_trie.cpp Update AMTL. 2018-05-31 21:23:59 -07:00
smn_banning.cpp Split intercom.h into separate headers and reduce shared header inclusion. 2015-08-31 10:00:49 -07:00
smn_console.cpp Don't double-format in ReplyToCommand. (#932) 2018-12-12 23:30:27 -08:00
smn_core.cpp Fix LogStackTrace Anomaly (#863) 2018-07-31 04:17:36 -07:00
smn_database.cpp Restore SQL_CheckConfig Behavior (#873) 2018-10-07 14:08:11 -07:00
smn_datapacks.cpp Add an array operations to CDataPack (#1219) 2020-05-08 15:23:48 -07:00
smn_fakenatives.cpp Improve CreateNative failure message (#903) 2018-10-10 13:35:17 +01:00
smn_filesystem.cpp Add File.Flush methodmap (#1056) 2019-07-31 22:18:07 +00:00
smn_float.cpp Switch C header & Fix warnings (#702) 2017-10-15 10:32:01 +01:00
smn_functions.cpp Create GlobalForward & PrivateForward methodmaps (#1004) 2019-05-29 14:17:42 -07:00
smn_gameconfigs.cpp Add GameData methodmap (#766) 2018-10-11 20:27:56 -07:00
smn_halflife.cpp Add support for retrieving game server Steam Id (bug 6404). (#495) 2016-04-26 23:17:08 -04:00
smn_handles.cpp Allow CloseHandle() on nulls. 2014-07-05 13:52:44 -07:00
smn_lang.cpp Replace ke::SafeSprintf with ke::SafeStrcpy (#784) 2018-03-19 20:12:51 +00:00
smn_maplists.cpp Fix typo in fallback to "default" maplists section (#923) 2018-11-13 16:32:18 +00:00
smn_menus.cpp Fix Panel.Style getter not being bound. 2016-12-12 08:52:26 -05:00
smn_players.cpp Send ShowActivity messages to TV clients (#813) 2018-05-09 09:13:49 +01:00
smn_profiler.cpp Add Profiler methodmap (#814) 2018-07-08 11:05:29 -04:00
smn_sorting.cpp Add Sort and SortCustom to ArrayList methodmap (#1003) 2019-05-09 18:44:31 +01:00
smn_string.cpp Move the guts of Format to a helper function 2016-02-15 12:49:22 +00:00
smn_textparse.cpp Port SMC parsing API to transitional syntax. 2014-11-09 12:33:07 -08:00
smn_timers.cpp Split intercom.h into separate headers and reduce shared header inclusion. 2015-08-31 10:00:49 -07:00
sprintf.cpp Replace ke::SafeSprintf with ke::SafeStrcpy (#784) 2018-03-19 20:12:51 +00:00
sprintf.h Implement an auto-escaping Format native for SQL query construction 2016-02-15 15:05:16 +00:00
stringutil.cpp Fix Miscellaneous Regressions and UBs (#1022) 2019-05-28 18:04:08 -07:00
stringutil.h Move the guts of Format to a helper function 2016-02-15 12:49:22 +00:00
TextParsers.cpp Replace ke::SafeSprintf with ke::SafeStrcpy (#784) 2018-03-19 20:12:51 +00:00
TextParsers.h Import of core modularization plan (bug 3599). 2009-05-13 21:55:50 -04:00
ThreadSupport.cpp Pare down ThreadSupport and remove ancient thread code. 2020-05-13 00:35:29 -07:00
ThreadSupport.h Pare down ThreadSupport and remove ancient thread code. 2020-05-13 00:35:29 -07:00
Translator.cpp Replace ke::SafeSprintf with ke::SafeStrcpy (#784) 2018-03-19 20:12:51 +00:00
Translator.h Add Translation Natives (#669) 2017-11-20 21:24:01 -08:00
version.rc Overhauled versioning information (bug 5453, r=dvander). 2012-08-26 01:33:54 +01:00