cvs: ZendEngine2(PHP_5_3) / zend_extensions.c zend_extensions.h

[email protected] ("Dmitry Stogov") Wed, 08 Apr 2009 12:19:01 -0000
Newsgroups php.zend-engine.cvs
Message-ID <cvsdmitry1239193141@cvsserver>
dmitry		Wed Apr  8 12:19:01 2009 UTC

  Modified files:              (Branch: PHP_5_3)
    /ZendEngine2	zend_extensions.c zend_extensions.h 
  Log:
  Added ability to check build_id by extension
  
  
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_extensions.c?r1=1.48.2.1.2.3.2.4&r2=1.48.2.1.2.3.2.5&diff_format=u
Index: ZendEngine2/zend_extensions.c
diff -u ZendEngine2/zend_extensions.c:1.48.2.1.2.3.2.4 ZendEngine2/zend_extensions.c:1.48.2.1.2.3.2.5
--- ZendEngine2/zend_extensions.c:1.48.2.1.2.3.2.4	Sat Jan 17 02:05:13 2009
+++ ZendEngine2/zend_extensions.c	Wed Apr  8 12:19:01 2009
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_extensions.c,v 1.48.2.1.2.3.2.4 2009/01/17 02:05:13 stas Exp $ */
+/* $Id: zend_extensions.c,v 1.48.2.1.2.3.2.5 2009/04/08 12:19:01 dmitry Exp $ */
 
 #include "zend_extensions.h"
 
@@ -79,7 +79,8 @@
 			DL_UNLOAD(handle);
 			return FAILURE;
 		}
-	} else if (strcmp(ZEND_EXTENSION_BUILD_ID, extension_version_info->build_id)) {
+	} else if (strcmp(ZEND_EXTENSION_BUILD_ID, extension_version_info->build_id) &&
+	           (!new_extension->build_id_check || new_extension->build_id_check(ZEND_EXTENSION_BUILD_ID) != SUCCESS)) {
 		fprintf(stderr, "Cannot load %s - it was build with configuration %s, whereas running engine is %s\n",
 					new_extension->name, extension_version_info->build_id, ZEND_EXTENSION_BUILD_ID);
 		DL_UNLOAD(handle);
http://cvs.php.net/viewvc.cgi/ZendEngine2/zend_extensions.h?r1=1.67.2.3.2.3.2.6&r2=1.67.2.3.2.3.2.7&diff_format=u
Index: ZendEngine2/zend_extensions.h
diff -u ZendEngine2/zend_extensions.h:1.67.2.3.2.3.2.6 ZendEngine2/zend_extensions.h:1.67.2.3.2.3.2.7
--- ZendEngine2/zend_extensions.h:1.67.2.3.2.3.2.6	Sat Jan 17 16:14:59 2009
+++ ZendEngine2/zend_extensions.h	Wed Apr  8 12:19:01 2009
@@ -17,7 +17,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: zend_extensions.h,v 1.67.2.3.2.3.2.6 2009/01/17 16:14:59 johannes Exp $ */
+/* $Id: zend_extensions.h,v 1.67.2.3.2.3.2.7 2009/04/08 12:19:01 dmitry Exp $ */
 
 #ifndef ZEND_EXTENSIONS_H
 #define ZEND_EXTENSIONS_H
@@ -80,7 +80,7 @@
 	op_array_dtor_func_t op_array_dtor;
 
 	int (*api_no_check)(int api_no);
-	void *reserved2;
+	int (*build_id_check)(const char* build_id);
 	void *reserved3;
 	void *reserved4;
 	void *reserved5;