Go to file
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
.github Create FUNDING.yml 2019-05-27 17:15:04 +01:00
bridge/include Burninate IDataPack (#864) 2018-08-13 23:03:48 +01:00
configs Allow setting multiple chat trigger characters (PR #449, bug 4341, bug 5668) 2016-10-04 16:34:42 +01:00
core Pare down ThreadSupport and remove ancient thread code. 2020-05-13 00:35:29 -07:00
editor Added AMXX Pawn geshi generation script. 2010-08-23 13:53:44 -04:00
extensions Add new TF2 Holiday Soldier (#1257) 2020-05-06 23:00:24 +00:00
gamedata Fix GetDataDescMap not work on Day Of Infamy (#1263) 2020-05-07 12:20:29 +01:00
licenses Fix quote mismatch (#1092) 2019-09-30 22:43:18 -07:00
loader Revert "Remove arch loops from build scripts. (#889)" 2018-10-04 17:59:40 +00:00
plugins Add an array operations to CDataPack (#1219) 2020-05-08 15:23:48 -07:00
public Pare down ThreadSupport and remove ancient thread code. 2020-05-13 00:35:29 -07:00
sourcepawn@305b59efbf Update SourcePawn. 2019-12-28 12:07:36 -08:00
tools NPOTB: Always use hl2sdk-proxy-repo in checkout-deps (#1236) 2020-05-08 15:12:21 -07:00
translations Standardize some spacing in translation phrases (#1254) 2020-05-08 14:55:05 -07:00
versionlib 64-bit support for CSGO on Linux and macOS (#705) 2017-12-20 01:56:23 -06:00
.arcconfig Add a .arcconfig file so that arc works 2013-10-15 22:57:59 +01:00
.gitattributes NPOTB: Correct GitHub's Linguist inaccuracies (#1096) 2019-10-07 19:14:09 +01:00
.gitignore Update to the latest SourcePawn revision. 2015-08-18 09:51:24 -07:00
.gitmodules Use upstream SourcePawn as a submodule. 2015-03-15 16:38:38 -07:00
.travis.yml NPOTB: Enable cstrike builds w/ Travis-CI. (#1014) 2019-05-14 11:38:20 -07:00
AMBuildScript Pare down ThreadSupport and remove ancient thread code. 2020-05-13 00:35:29 -07:00
changelog.txt Triggering a build. 2011-04-13 19:05:41 -05:00
configure.py Add an option to build against no SDKs (#1201) 2020-03-04 21:52:07 +00:00
product.version Bump version to 1.11. 2019-10-18 21:07:36 -07:00
pushbuild.txt Trigger build for hl2sdk-csgo update. 2019-03-28 20:00:20 -04:00
README.md Incorperate Licensing Into Project Tree (#961) 2019-04-12 12:10:13 -07:00

SourceMod

General

Development

Contact

  • Connect with us on GameSurge IRC in #sourcemod
  • Alternatively feel free to join our Discord server

License

SourceMod is licensed under the GNU General Public License version 3. Special exceptions are outlined in the LICENSE.txt file inside of the licenses folder.