Commit graph

183 commits

Author SHA1 Message Date
krakjoe
21b6d15599 remove unused fetch 2014-09-26 09:23:50 +01:00
Anatol Belski
d11734b4b0 reworked the patch, less new stuff but worky
TLS is already used in TSRM, the way exporting the tsrm cache through
a thread local variable is not portable. Additionally, the current
patch suffers from bugs which are hard to find, but prevent it to
be worky with apache. What is done here is mainly uses the idea
from the RFC patch, but

- __thread variable is removed
- offset math and declarations are removed
- extra macros and definitions are removed

What is done merely is

- use an inline function to access the tsrm cache. The function uses
  the portable tsrm_tls_get macro which is cheap
- all the TSRM_* macros are set to placebo. Thus this opens the way
  remove them later

Except that, the logic is old. TSRMLS_FETCH will have to be done once
per thread, then tsrm_get_ls_cache() can be used. Things seeming to be
worky are cli, cli server and apache. I also tried to enable bz2
shared and it has worked out of the box. The change is yet minimal
diffing to the current master bus is a worky start, IMHO. Though will
have to recheck the other previously done SAPIs - embed and cgi.

The offsets can be added to the tsrm_resource_type struct, then
it'll not be needed to declare them in the userspace. Even the
"done" member type can be changed to int16 or smaller, then adding
the offset as int16 will not change the struct size. As well on the
todo might be removing the hashed storage, thread_id != thread_id and
linked list logic in favour of the explicit TLS operations.
2014-09-25 18:48:27 +02:00
Anatol Belski
6bb530d1eb Merge remote-tracking branch 'origin/master' into native-tls
* origin/master: (24 commits)
  added a comment
  fix the REPARSE_DATA_BUFFER struct def
  simplify the condition
  Fix two memory errors by interning earlier
  Add smart_str_append for appending zend_strings
  Rename smart_str_append to smart_str_append_smart_str
  Use smart_str for exception stack traces
  Use smart_str in get_function_declaration
  Move smart_str implementation into Zend/
  UPGRADING for Integer Semantics
  Fixed bug #66242 (don't assume char is signed)
  Fixed bug #67633
  Fixed if/else if ordering
  Use SIZEOF_ZEND_LONG instead of SIZEOF_LONG
  Use zend_ polyfilled nan/finite, check finite
  Updated 32-bit << test
  Updated << 64-bit tests
  Prevent bit shift count wrapping quirkiness on some CPUs for left shift
  Cast NaN and Infinity to zero
  Updated >> 64-bit tests
  ...
2014-09-22 10:26:17 +02:00
Nikita Popov
e33f3d3b7c Move smart_str implementation into Zend/
So we can use it there as well...

For now I've retained the zend_smart_str_public.h header, though
it would probably be better to just move that one struct into
zend_types.h.
2014-09-21 20:49:39 +02:00
krakjoe
b3aebda9ea native tls initial patch 2014-09-20 20:22:14 +01:00
jfha73
b0064fc27f Update sapi_apache2.c
Change of php5 for php7
2014-09-18 20:43:31 +02:00
Anatol Belski
341ff0dea5 fix macro usage 2014-09-17 21:46:48 +02:00
Anatol Belski
b5406ed316 fix atol usage 2014-09-17 20:43:23 +02:00
Anatol Belski
4d997f63d9 master renames phase 3 2014-08-25 20:22:49 +02:00
Anatol Belski
fdbbe5fa30 fixed some incompatible types 2014-08-20 09:52:23 +02:00
Anatol Belski
61c8af6a9d ported apache handler 2014-08-19 23:39:22 +02:00
Dmitry Stogov
9d21bef39f Added support for apache and apache2handler SAPIs (They seem slower than FastCGI) 2014-05-06 13:26:23 +04:00
Stanislav Malyshev
9fb92eed83 Merge branch 'PHP-5.6'
* PHP-5.6:
  fix apr_psprintf format string from e0df4e3dba
  Fixed bug #67024 - getimagesize should recognize BMP files with negative height
2014-04-13 15:40:21 -07:00
Stanislav Malyshev
1be29a404a Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  fix apr_psprintf format string from e0df4e3dba
2014-04-13 15:39:32 -07:00
Jeff Trawick
442264ffd6 fix apr_psprintf format string from e0df4e3dba 2014-04-13 15:36:43 -07:00
Bob Weinand
ccf863c8ce Merge branch 'PHP-5.6' 2014-04-11 19:35:11 +02:00
Bob Weinand
99d1a1bb3f Shut up, my lovely compiler; I do not like your warnings 2014-04-11 19:33:56 +02:00
Xinchen Hui
0f53e37494 Merge branch 'PHP-5.6' 2014-01-03 11:09:07 +08:00
Xinchen Hui
c081ce628f Bump year 2014-01-03 11:08:10 +08:00
Xinchen Hui
c0d060f5c0 Bump year 2014-01-03 11:04:26 +08:00
Kalle Sommer Nielsen
ed5a8d510f Pass the TSRMLS parameters to the sapi flush hook, this shaves off a few TSRMLS_FETCH() calls in our various SAPIs 2013-12-18 09:06:39 +01:00
Stanislav Malyshev
02e4d7a290 Merge branch 'pull-request/341'
* pull-request/341: (23 commits)
  typofixes
2013-06-10 14:30:59 -07:00
Stanislav Malyshev
ac40c0b562 Merge branch 'pull-request/341'
* pull-request/341: (23 commits)
  typofixes
2013-06-10 14:20:18 -07:00
Xinchen Hui
a666285bc2 Happy New Year 2013-01-01 16:37:09 +08:00
Xinchen Hui
0a7395e009 Happy New Year 2013-01-01 16:28:54 +08:00
Felipe Pena
8775a37559 - Year++ 2012-01-01 13:15:04 +00:00
Felipe Pena
4e19825281 - Year++ 2012-01-01 13:15:04 +00:00
Xinchen Hui
d7d0d0724c Fixed bug #60206 (possible integer overflow in content_length) 2011-11-03 07:26:09 +00:00
Xinchen Hui
d4b90b4788 Fixed bug #60206 (possible integer overflow in content_length) 2011-11-03 07:26:09 +00:00
Ilia Alshanetsky
7f2882cc53 Fixed a bug with calculation of REQUEST_TIME in apache2 2011-06-23 14:12:50 +00:00
Ilia Alshanetsky
86c44e119f Fixed a bug with calculation of REQUEST_TIME in apache2 2011-06-23 14:12:50 +00:00
Rasmus Lerdorf
27dd44db95 Fix a couple of warnings. Use %zu to printf a time_t and get_request_time
actually returns a double, not a time_t.
2011-05-16 15:52:31 +00:00
Rasmus Lerdorf
e0df4e3dba Fix a couple of warnings. Use %zu to printf a time_t and get_request_time
actually returns a double, not a time_t.
2011-05-16 15:52:31 +00:00
Felipe Pena
0203cc3d44 - Year++ 2011-01-01 02:17:06 +00:00
Ilia Alshanetsky
f89effd2a8 Updated _SERVER['REQUEST_TIME'] to include microsecond precision. 2010-11-06 17:14:21 +00:00
Kalle Sommer Nielsen
34b631f679 Pass the TSRMS pointers to sapi_module_struct.log_message, this saves some TSRMLS_FETCH() calls in a few of our SAPI's 2010-08-18 13:34:40 +00:00
Rob Richards
60f62fc563 fix non-windows builds 2010-05-04 12:12:28 +00:00
Pierre Joye
56e327ba27 - revert fix for #51723 in 5.2, vc6 does not support strtoi64, use builtin functioon in 5.3 (trunk is vc9+ only) 2010-05-03 19:51:59 +00:00
Pierre Joye
d90f8560aa - #51273, Content-length header is limited to 32bit integer with apache2/windows 2010-05-03 17:47:58 +00:00
Pierre Joye
9720dea2c7 - WS 2010-05-03 14:30:14 +00:00
Kalle Sommer Nielsen
dd8e59da8f Removed safe_mode
* Removed ini options, safe_mode*
 * Removed --enable-safe-mode --with-exec-dir configure options on Unix
 * Updated extensions, SAPI's and core
 * php_get_current_user() is now declared in main.c, thrus no need to include safe_mode.h anymore
2010-04-26 23:53:30 +00:00
Rasmus Lerdorf
1947334023 Fix bug #50940 2010-02-05 18:59:05 +00:00
Sebastian Bergmann
9ba1e81665 sed -i "s#1997-2009#1997-2010#g" **/*.c **/*.h **/*.php 2010-01-03 09:23:27 +00:00
Jani Taskinen
bf7ed5eff5 - Fixed bug #49677 (ini parser crashes with apache2 and using ${something} ini variables) 2009-11-25 12:35:42 +00:00
Jani Taskinen
afc44b981e ws 2009-11-25 12:26:10 +00:00
Sebastian Bergmann
08659c2dcd MFH: Bump copyright year, 3 of 3. 2008-12-31 11:15:49 +00:00
Stanislav Malyshev
40cd1d49b3 MFH fix #46005 2008-12-17 11:34:50 +00:00
Arnaud Le Blanc
8c4151ad72 Added header_remove() (chsc at peytz dotdk, Arnaud)
[DOC] proto void header_remove([string header_name])
      Removes an HTTP header previously set using header()
      The header_name parameter is optionnal, all headers are
      removed if it is not set

[SAPIs] The header_handler callback in sapi_module_struct has
           been changed, it now take a new argument.

           When it is set to SAPI_HEADER_DELETE, sapi_header->header is
           the name of an header, header_handler has to delete it.

           When it is set to SAPI_HEADER_DELETE_ALL, header_handler has
           to delete all headers.

           When sapi_header_op_enum is SAPI_HEADER_ADD or _REPLACE,
           sapi_header->header is in the form "Name: value", header_handler
           has to add or replace the given header.

           In all cases, header_handler must not free sapi_header or
           sapi_header->header. SAPI_HEADER_ADD must be returned if the
           header has been added or replaced, or 0 in other cases.
2008-11-13 10:14:04 +00:00
Rasmus Lerdorf
45e327a672 Add new empty child terminate sapi hook to the rest of the sapis 2008-03-18 22:23:21 +00:00
Ilia Alshanetsky
1227a4c57a Fixed bug #42779 (Incorrect forcing from HTTP/1.0 request to HTTP/1.1
response)
2008-01-16 15:49:46 +00:00