summaryrefslogtreecommitdiff
path: root/TSRM
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'PHP-7.2' into PHP-7.3Christoph M. Becker2019-07-031-1/+1
|\ | | | | | | | | * PHP-7.2: Fix #78241: touch() does not handle dates after 2038 in PHP 64-bit
| * Fix #78241: touch() does not handle dates after 2038 in PHP 64-bitChristoph M. Becker2019-07-031-1/+1
| | | | | | | | | | | | `time_t` defaults to `_time64` (which is 64bit signed) even on x86, but `Int32x32To64()` truncates it to signed 32bit. We replace the macro with the "manual" calculation.
* | 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.
| * Sync leading and final newlines in source code filesPeter Kokot2018-10-143-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
| * Trim trailing whitespace in source code filesPeter Kokot2018-10-134-14/+14
| |
| * year++Xinchen Hui2018-01-022-2/+2
| |
* | Future-proof email addressesZeev Suraski2018-11-012-2/+2
| |
* | Sync leading and final newlines in source code filesPeter Kokot2018-10-142-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds missing newlines, trims multiple redundant final newlines into a single one, and trims redundant leading newlines. According to POSIX, a line is a sequence of zero or more non-' <newline>' characters plus a terminating '<newline>' character. [1] Files should normally have at least one final newline character. C89 [2] and later standards [3] mention a final newline: "A source file that is not empty shall end in a new-line character, which shall not be immediately preceded by a backslash character." Although it is not mandatory for all files to have a final newline fixed, a more consistent and homogeneous approach brings less of commit differences issues and a better development experience in certain text editors and IDEs. [1] http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206 [2] https://port70.net/~nsz/c/c89/c89-draft.html#2.1.1.2 [3] https://port70.net/~nsz/c/c99/n1256.html#5.1.1.2
* | Trim trailing whitespace in source code filesPeter Kokot2018-10-132-7/+7
| |
* | Remove TSRM_CHECK_GCC_ARG and LIBZEND_CPLUSPLUS_CHECKSPeter Kokot2018-07-311-22/+0
| | | | | | | | | | This removes two old Autoconf macro definitions since they are not used anymore.
* | Upgrade deprecated AC_OUTPUT macro callsPeter Kokot2018-07-291-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Autoconf 2.50 made several changes to macro calls. These include also arguments passed to AC_OUTPUT macro. The upgrading chapter in Autoconf documentation include an example of using AC_OUTPUT with AC_CONFIG_FILES and AC_CONFIG_COMMANDS: - https://www.gnu.org/software/autoconf/manual/autoconf-2.69/html_node/Obsolete-Macros.html PHP 5.4 to 7.1 require Autoconf 2.59+, PHP 7.2+ require Autoconf 2.64+, and PHP 7.2 phpize script requires Autoconf 2.59+ which are all greater than above mentioned 2.50 version. Systems out there should well support this by now. This patch was created with the help of autoupdate script: autoupdate <file> More info on where exactly this got deprecated: - ftp://ftp.gnu.org/old-gnu/Manuals/autoconf-2.13/html_mono/autoconf.html - ftp://ftp.auckland.ac.nz/pub/gnu/Manuals/autoconf-2.52/html_chapter/autoconf_15.html - http://git.savannah.gnu.org/cgit/autoconf.git/tree/NEWS
* | Upgrade AX_FUNC_WHICH_GETHOSTBYNAME_R to serial 8Peter Kokot2018-07-292-7/+6
| | | | | | | | | | | | | | | | | | The AX_FUNC_WHICH_GETHOSTBYNAME_R macro is from the Autoconf Archive. Latest version of the file has few docs changes. File is also renamed as is a pattern of other m4 Autoconf Archive files. Refs: - http://git.savannah.gnu.org/gitweb/?p=autoconf-archive.git;a=blob_plain;f=m4/ax_func_which_gethostbyname_r.m4
* | Trim trailing whitespaces in build filesPeter Kokot2018-07-292-5/+5
| | | | | | | | | | | | Some editors utilizing .editorconfig automatically trim whitespaces. For convenience this patch removes whitespaces in certain build files in Zend and TSRM folders.
* | Remove unused Git attributes identPeter Kokot2018-07-255-9/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The $Id$ keywords were used in Subversion where they can be substituted with filename, last revision number change, last changed date, and last user who changed it. In Git this functionality is different and can be done with Git attribute ident. These need to be defined manually for each file in the .gitattributes file and are afterwards replaced with 40-character hexadecimal blob object name which is based only on the particular file contents. This patch simplifies handling of $Id$ keywords by removing them since they are not used anymore.
* | year++Xinchen Hui2018-01-022-2/+2
| |
* | 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-212-0/+16
| | |
* | | Merge branch 'PHP-7.2'Anatol Belski2017-12-211-1/+7
|\ \ \ | |/ / | | | | | | | | | * PHP-7.2: Fix segfault. Compile param --with-tsrm-pth=yes
| * | Merge branch 'PHP-7.1' into PHP-7.2Anatol Belski2017-12-211-1/+7
| |\ \ | | |/ | | | | | | | | | * PHP-7.1: Fix segfault. Compile param --with-tsrm-pth=yes
| | * Fix segfault. Compile param --with-tsrm-pth=yesEvgeny Kalashnikov2017-12-211-1/+7
| | |
* | | Modernize realpath and integrate quick variant into virtual_file_exAnatol Belski2017-12-153-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The slower I/O as a traditional bottleneck on Windows which is the target of this patch. The recursive path resolution, while being an allround solution, is expensive when it comes to the common case. Files with proper ACLs set can be resolved in one go by usage of specific API. Those are available since Vista, so actually can be called old. Those simpler api is used for the cases where no CWD_EXPAND is requested. For the cases where ACLs are improper, the existing solution based on FindFirstFile still does good job also partially providing quirks. Cases involing reparse tags and other non local filesystems are also partially server by new APIs. The approach uses both APIs - the quick one for the common case still integrating realpath cache, and the existing one as a fallback. The tests show the I/O load drop on the realpath resolution part due to less system calls for the sub part resolution of paths. In most case it is justified, as the sub parts were otherwise cached or unused as well. The realpath() implementation in ioutil is also closer to the POSIX.
* | | Move temporary allocation to the stackAnatol Belski2017-12-091-10/+2
| | |
* | | Improve ioutil access impl and refactor tsrm_win32_accessAnatol Belski2017-12-081-150/+135
| | |
* | | 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.
* | | realloc() can return NULLAnatol Belski2017-10-231-2/+4
| | |
* | | Removed support for BeOS, development for BeOS was supported 17 years ago.Kalle Sommer Nielsen2017-08-294-85/+45
| | | | | | | | | | | | | | | | | | 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 this old obsolete TODO fileKalle Sommer Nielsen2017-08-291-2/+0
| | |
* | | Remove old references to SAPIs and extensions no longer in the coreKalle Sommer Nielsen2017-07-192-28/+0
|/ /
* | vim folds and mode lines yetAnatol Belski2017-07-047-88/+153
| |
* | use char* as we don't compile with UNICODE anywayAnatol Belski2017-04-281-1/+1
| |
* | Avoid unnecessary string copyAnatol Belski2017-04-271-7/+1
| | | | | | | | which is the case when there's no impersonation.
* | get rid of two strlen callsAnatol Belski2017-04-272-6/+9
| |
* | Merge branch 'PHP-7.1'Anatol Belski2017-04-151-3/+2
|\ \ | |/ | | | | | | * PHP-7.1: fix error handling
| * Merge branch 'PHP-7.0' into PHP-7.1Anatol Belski2017-04-151-3/+2
| |\ | | | | | | | | | | | | * PHP-7.0: fix error handling
| | * fix error handlingAnatol Belski2017-04-151-3/+2
| | |
| | * Update copyright headers to 2017Sammy Kaye Powers2017-01-044-4/+4
| | |
| * | Update copyright headers to 2017Sammy Kaye Powers2017-01-044-4/+4
| | |
* | | export the main thread infoAnatol Belski2017-04-152-0/+6
| | |
* | | Interned strings unification for TS/NTSAnatol Belski2017-03-042-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Use modern autotools name of configure.ac instead of configure.inBrian Evans2017-01-272-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | configure.ac was introduced in 2001 with automake-1.15 and autoconf-2.50 to replace the file named configure.in. Autotools is preparing to remove configure.in in Automake 2.0. All new software should be using configure.ac. This also fixes Bug #69770 where extensions are creating configure.in Signed-off-by: Brian Evans <grknight@gentoo.org>
* | | Update copyright headers to 2017Sammy Kaye Powers2017-01-022-2/+2
| | |
* | | Path handling related refactoringsAnatol Belski2016-12-222-47/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Primarily related to the path handling datatypes, to avoid unnecessary casts, where possible. Also some rework to avoid code dup. Probably more places are to go, even not path related, primarily to have less casts and unsigned integers where possible. That way, we've not only less warnings and casts, but are also safer with regard to the integer overflows. OFC it's not a panacea, but still significantly reduces the vulnerability potential.
* | | Remove more NetWare leftoversKalle Sommer Nielsen2016-11-212-269/+0
| | |
* | | Remove Netware supportKalle Sommer Nielsen2016-11-122-14/+0
| | | | | | | | | | | | If this does not break the Unix system somehow, I'll be amazed. This should get most of it out, apologies for any errors this may cause on non-Windows ends which I cannot test atm.
* | | Merge branch 'PHP-7.1'Bob Weinand2016-10-291-3/+2
|\ \ \ | |/ /
| * | Merge branch 'PHP-7.0' into PHP-7.1Bob Weinand2016-10-291-3/+2
| |\ \ | | |/