Rasmus Lerdorf [Tue, 18 Mar 2008 18:34:11 +0000 (18:34 +0000)]
Use sigsetjmp and siglongjmp instead of setjmp/longjmp in order to be
consistent in how we deal with the signal mask. POSIX doesn't specify
what to do with the signal mask in setjmp/longjmp which has resulted in
the signal mask getting saved on *BSD and not getting saved on Linux.
Making the behaviour explicit via sigsetjmp/siglongjmp gives us
consistency and saves expensive sigprocmask() syscalls on *BSD.
Andrey Hristov [Tue, 18 Mar 2008 16:57:31 +0000 (16:57 +0000)]
Fixed a bunch of bugs reported in
Bug #44352 mysqli_connect_error() false negative for host errors
From now on the mysqli object doesn't have that magic properties, like
error, which were readable but not visible through isset(), property_exists()
and var_dump(). All other ext/mysqli classes were fixed too.
Now it will be easier to debug mysqli based applications.
Dmitry Stogov [Tue, 18 Mar 2008 08:36:30 +0000 (08:36 +0000)]
Implemented concept of "delayed early binding" that allows opcode caches to perform class declaration (early and/or run-time binding) in exactly the same order as vanila php.
The following pseudo-code explains how it should be used in opcode cache.
Steph Fox [Tue, 18 Mar 2008 03:12:42 +0000 (03:12 +0000)]
re2c checking.
If it's not installed, the least scary of messages goes out.
If it's installed but older than the required version, the download link is given.
Rasmus Lerdorf [Mon, 17 Mar 2008 18:27:08 +0000 (18:27 +0000)]
Revert
Never mind, it looks like ext/filter does an estrdup on everything it
gets which doesn't seem very efficient to me as most things it gets
passed will already be emalloc'ed. My custom version of the filter
extension doesn't do this which led to the confusion.
Rasmus Lerdorf [Mon, 17 Mar 2008 18:03:31 +0000 (18:03 +0000)]
We need to pass PHP-managed pointers to filter here to avoid having
emalloc'ed data assigned to things like r->uri and having it get efree()'ed
on request shutdown which then means that if the Apache logging module
tries to log r->uri it would be reading from free'ed memory. So a simple
estrdup before the filter call takes care of that.
Marcus Boerger [Sun, 16 Mar 2008 21:06:55 +0000 (21:06 +0000)]
- Rewrite scanner to be based on re2c instead of flex
The full patch is available as:
http://php.net/~helly/php-re2c-5.3-20080316.diff.txt
This is against php-re2c repository version 98
An older patch against version 97 is available under:
http://php.net/~helly/php-re2c-97-20080316.diff.txt
[DOC] adds new odbc driver specific ODBC_ATTR_ASSUME_UTF8 to deal with unicode coming out of Microsoft SQL Server and is only relevant on windows, use it if unicode output from the server is garbled and it will autoconvert text - original patch by wez
[DOC] add request_order INI variable to control $_REQUEST content
# if not set (default), variables_order still is used
# request_order accepts G,P and C
Fixed bug #44372 (compilation with Oracle 10gR1 libraries)
http://bugs.php.net/bug.php?id=44372
Updated updated error number list to improve re-connection
behavior after a database restart.
Guard against potential internal list corruption after ping
removes old oci_pconnect() information.
Fix ini_set("oci8.connection_class", "abc") to get an appropriate
persistent connection.
Ping at oci8.ping_interval for oci_connect() and oci_new_connect()
when DRCP connections are used. This improves non-persistent
connection reliability if a database gets restarted.
Andrey Hristov [Mon, 10 Mar 2008 20:15:38 +0000 (20:15 +0000)]
Update mysqlnd, ext/mysql and ext/mysqli - now possible to compile with different
configurations one or the another extension to use libmysql or mysqlnd mixed in
one binary
Andrey Hristov [Mon, 10 Mar 2008 19:54:47 +0000 (19:54 +0000)]
char **error_message was passed but not used. This causes problems in cases
of getaddrinfo() failure, because the upper layers don't get the error.
initialize a variable because we were reading initialized in case of error.