summaryrefslogtreecommitdiff
path: root/TSRM/TSRM.h
Commit message (Collapse)AuthorAgeFilesLines
* Fixed bug #80814 (threaded mod_php won't load on FreeBSD: No space available ↵Dmitry Stogov2021-03-101-1/+1
| | | | for static Thread Local Storage)
* Constify char * arguments of APIstwosee2020-06-081-2/+2
| | | | Closes GH-5676.
* Fix warning of strict-prototypestwosee2020-06-071-2/+2
| | | | Closes GH-5673.
* Make MSVC happy againChristoph M. Becker2019-09-201-1/+5
| | | | | MSVC complains about unsupported preprocessor syntax, so we employ the same workaround as in zend_cpuinfo.h.
* Optimize access to thread local cache.Dmitry Stogov2019-09-181-2/+10
| | | | | This patch saves one CPU instruction on each "_tsrm_ls_cache" access in ZTS CLI/CGI/FPM builds. This reduce typical instruction sequence for EG(current_execute_data) access from 4 to 3 CPU instructions.
* Merge branch 'PHP-7.4'Peter Kokot2019-07-101-1/+1
|\ | | | | | | | | * PHP-7.4: Remove TSRM/tsrm_config.w32.h
| * Remove TSRM/tsrm_config.w32.hPeter Kokot2019-07-101-1/+1
| | | | | | | | | | | | | | The tsrm_config.w32.h file is a simple wrapper for already defined symbols and includes elsewhere. Closes GH-4383
| * Remove some old BeOS artefactsPeter Kokot2019-07-021-3/+0
| | | | | | | | | | | | | | - checking for beos systems is no longer relevant in configure.ac - usage of undefined constant BETHREADS removed. Closes GH-4346
* | Merge branch 'PHP-7.4'Joe Watkins2019-06-281-3/+1
|\ \ | |/ | | | | | | * PHP-7.4: implement tsrm_is_shutdown API
| * implement tsrm_is_shutdown APIJoe Watkins2019-06-281-3/+1
| |
* | Merge branch 'PHP-7.4'Joe Watkins2019-06-111-7/+3
|\ \ | |/ | | | | | | * PHP-7.4: This reverts 0e5d4ea55554872fe72e5d984b73fc21abc561fe to fix the build on MacOSX
| * This reverts 0e5d4ea55554872fe72e5d984b73fc21abc561fe to fix the build on MacOSXJoe Watkins2019-06-111-7/+3
| | | | | | | | | | | | On Mac thread_local and __thread are not ABI compatible, in addition, thread_local comes with additional overhead, __thread seems to be the most suitable linkage to use regardless of c++/c
* | Merge branch 'PHP-7.4'Nikita Popov2019-06-041-6/+0
|\ \ | |/
| * Merge branch 'PHP-7.3' into PHP-7.4Nikita Popov2019-06-041-6/+0
| |\
| | * Merge branch 'PHP-7.2' into PHP-7.3Nikita Popov2019-06-041-6/+0
| | |\
| | | * Reload tsrmls_id in release builds as wellNikita Popov2019-06-041-6/+0
| | | | | | | | | | | | | | | | | | | | | | | | If TSRM is shut down and started again (something that phpdbg does), then tsrmls_id needs to be reloaded everywhere. As tsrmls_id update is a rare operation, doing that shouldn't be a problem.
| | * | Future-proof email addressesZeev Suraski2018-11-011-1/+1
| | | |
* | | | Merge branch 'PHP-7.4'Peter Kokot2019-04-291-1/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: Remove TSRM configuration header
| * | | Remove TSRM configuration headerPeter Kokot2019-04-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | TSRM configuration header file was once created by separate autoconf build system for TSRM and is with the current code not directly needed like this anymore.
* | | | Merge branch 'PHP-7.4'Nikita Popov2019-04-111-4/+4
|\ \ \ \ | |/ / /
| * | | Make tsrm_env_lock() voidNikita Popov2019-04-111-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | We're not checking the return value and the NTS version of this generates warnings. If we want to handle lock failures, we should do a hard abort inside tsrm_env_lock() itself.
* | | | Merge branch 'PHP-7.4'Peter Kokot2019-04-071-2/+0
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: Remove HAVE_SIGNAL_H
| * | | Remove HAVE_SIGNAL_HPeter Kokot2019-04-071-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `<signal.h>` header file is part of the standard C89 headers [1] and on current systems can be included unconditionally. Since file requires at least C89 or greater, the `HAVE_SIGNAL_H` symbol defined by Autoconf in Zend.m4 [2] can be ommitted and simplifed. The bundled libmagic (file) also ommits the usage of HAVE_SIGNAL_H since 5.35 however current version in PHP is very modified 5.34 version and will be refactored separately. Check for HAVE_SIGNAL_H is therefore still done in the configure.ac. Refs: [1] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2 [2] https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
* | | | Added JIT compiler for x86 and x86_64Dmitry Stogov2019-04-011-0/+1
| | | |
* | | | Merge branch 'PHP-7.4'Joe Watkins2019-03-291-0/+7
|\ \ \ \ | |/ / / | | | | | | | | | | | | * PHP-7.4: tsrm environment lock
| * | | tsrm environment lockJoe Watkins2019-03-291-0/+7
| | | |
* | | | TSRM cleanup for PHP8Joe Watkins2019-03-251-42/+2
|/ / /
* | | Implemented a faster way to access predefined TSRM resources - CG(), EG(), etc.Dmitry Stogov2019-03-141-0/+16
| | |
* | | Remove local variablesPeter Kokot2019-02-031-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch removes the so called local variables defined per file basis for certain editors to properly show tab width, and similar settings. These are mainly used by Vim and Emacs editors yet with recent changes the once working definitions don't work anymore in Vim without custom plugins or additional configuration. Neither are these settings synced across the PHP code base. A simpler and better approach is EditorConfig and fixing code using some code style fixing tools in the future instead. This patch also removes the so called modelines for Vim. Modelines allow Vim editor specifically to set some editor configuration such as syntax highlighting, indentation style and tab width to be set in the first line or the last 5 lines per file basis. Since the php test files have syntax highlighting already set in most editors properly and EditorConfig takes care of the indentation settings, this patch removes these as well for the Vim 6.0 and newer versions. With the removal of local variables for certain editors such as Emacs and Vim, the footer is also probably not needed anymore when creating extensions using ext_skel.php script. Additionally, Vim modelines for setting php syntax and some editor settings has been removed from some *.phpt files. All these are mostly not relevant for phpt files neither work properly in the middle of the file.
* | | Future-proof email addresses...Zeev Suraski2018-11-011-1/+1
|/ /
* | Merge branch 'PHP-7.2'Xinchen Hui2017-12-271-0/+2
|\ \ | |/ | | | | | | | | * PHP-7.2: Updated NEWS Fixed bug #75735 ([embed SAPI] Segmentation fault in sapi_register_post_entry)
| * Merge branch 'PHP-7.1' into PHP-7.2Xinchen Hui2017-12-271-0/+2
| |\ | | | | | | | | | | | | * PHP-7.1: Fixed bug #75735 ([embed SAPI] Segmentation fault in sapi_register_post_entry)
| | * Fixed bug #75735 ([embed SAPI] Segmentation fault in sapi_register_post_entry)Xinchen Hui2017-12-271-0/+2
| | |
* | | Add info about thread API usedAnatol Belski2017-12-211-0/+1
| | |
* | | Merge branch 'PHP-7.2'Anatol Belski2017-11-151-3/+7
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: Fix C++ compatibility for TSRM_TLS
| * | Fix C++ compatibility for TSRM_TLSAnatol Belski2017-11-151-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | If a C++11 source is compiled, thread_local is preferred. Furthermore, at least GCC treats __thread vs. thread_local a different way and under certain circumstances would refuse to compile __thread is a C++11 source. This change is far behind in time, any up-to-date compiler supports C++11 and otherwise it won't take effect on lower versions.
* | | Removed support for BeOS, development for BeOS was supported 17 years ago.Kalle Sommer Nielsen2017-08-291-7/+0
| | | | | | | | | | | | | | | | | | This patch however does not drop support for the BeOS compatible variant, Haiku, see Github PR #2697 which is currently a WiP I intentionally left out some fragments for BeOS in the build system for that seems to be bundles
* | | Remove old references to SAPIs and extensions no longer in the coreKalle Sommer Nielsen2017-07-191-6/+0
|/ /
* | vim folds and mode lines yetAnatol Belski2017-07-041-0/+9
| |
* | export the main thread infoAnatol Belski2017-04-151-0/+1
| |
* | Interned strings unification for TS/NTSAnatol Belski2017-03-041-0/+2
|/ | | | | | | | | | | | | Hereby, interned strings are supported in thread safe PHP. The patch implements two types of interned strings - interning per process, strings are not freed till process end - interning per request, strings are freed at request end There is no runtime interning. With Opcache, all the permanent iterned strings are copied into SHM on startup, additional copying into SHM might happen on demand.
* Move semicolon into TSRMLS_CACHE_EXTERN/DEFINENikita Popov2016-03-031-2/+2
| | | | Also re bug #71575.
* TSRM_TLS should be usable in NTS buildAnatol Belski2015-08-171-0/+2
|
* add macro to access globals as wholeAnatol Belski2015-07-301-2/+4
|
* improve debugability in TS debug buildsAnatol Belski2015-02-171-0/+4
| | | | | | | | gdb seems to be not always able to fetch the correct context for thread locals. Thus, the "if (TSRMLS_CACHE)" clause causes gdb to show crashes which aren't recognized neither with helgrind nor in release builds. This is reproducable by setting breakpoints on the exact line where PHP has a tsrm_get_ls_cache() call.
* made ZEND_TSRMLS_CACHE_* macros look like function callsAnatol Belski2015-02-161-6/+6
| | | | which also comply with the current semantics for such macros
* trailing whitespace removalStanislav Malyshev2015-01-101-3/+3
|
* missed include for intptr_t/uintptr_tAnatol Belski2014-12-221-0/+2
|
* use cleaner tsrm_intptr_t/tsrm_uintptr_t typedefAnatol Belski2014-12-221-7/+2
|
* fix zts build on mac/clangFerenc Kovacs2014-12-211-1/+1
|