X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pq_module.c;h=86fc93e938310d3fd61568d5a85a9af53a5915e3;hp=12a6e4b110fec42f039b78531e5123a812eb92a9;hb=da7b5981c5ae28504434c492d468913645111d66;hpb=9f5cecf26bd70a92ed013f31afec59e272623ac1 diff --git a/src/php_pq_module.c b/src/php_pq_module.c index 12a6e4b..86fc93e 100644 --- a/src/php_pq_module.c +++ b/src/php_pq_module.c @@ -20,23 +20,12 @@ #include -/* -#include -#include -#include -#include -#include - -#include -#include -#include -*/ - #include "php_pq.h" #include "php_pq_misc.h" #include "php_pqcancel.h" #include "php_pqconn.h" #include "php_pqcopy.h" +#include "php_pqcur.h" #include "php_pqexc.h" #include "php_pqlob.h" #include "php_pqres.h" @@ -52,6 +41,7 @@ static PHP_MINIT_FUNCTION(pq) { + PHP_MINIT_CALL(pq_misc); PHP_MINIT_CALL(pqexc); PHP_MINIT_CALL(pqconn); @@ -61,6 +51,7 @@ static PHP_MINIT_FUNCTION(pq) PHP_MINIT_CALL(pqres); PHP_MINIT_CALL(pqstm); PHP_MINIT_CALL(pqtxn); + PHP_MINIT_CALL(pqcur); PHP_MINIT_CALL(pqcopy); PHP_MINIT_CALL(pqlob); @@ -68,9 +59,26 @@ static PHP_MINIT_FUNCTION(pq) return php_persistent_handle_provide(ZEND_STRL("pq\\Connection"), php_pqconn_get_resource_factory_ops(), NULL, NULL TSRMLS_CC); } +#define PHP_MSHUT_CALL(i) do { \ + if (SUCCESS != PHP_MSHUTDOWN(i)(type, module_number TSRMLS_CC)) { \ + return FAILURE; \ + } \ +} while(0) + static PHP_MSHUTDOWN_FUNCTION(pq) { php_persistent_handle_cleanup(ZEND_STRL("pq\\Connection"), NULL, 0 TSRMLS_CC); + + PHP_MSHUT_CALL(pqlob); + PHP_MSHUT_CALL(pqcopy); + PHP_MSHUT_CALL(pqcur); + PHP_MSHUT_CALL(pqtxn); + PHP_MSHUT_CALL(pqstm); + PHP_MSHUT_CALL(pqres); + PHP_MSHUT_CALL(pqtypes); + PHP_MSHUT_CALL(pqcancel); + PHP_MSHUT_CALL(pqconn); + return SUCCESS; } @@ -83,7 +91,7 @@ static PHP_MINFO_FUNCTION(pq) php_info_print_table_start(); php_info_print_table_header(2, "PQ Support", "enabled"); - php_info_print_table_row(2, "Extension Version", PHP_PQ_EXT_VERSION); + php_info_print_table_row(2, "Extension Version", PHP_PQ_VERSION); php_info_print_table_end(); php_info_print_table_start(); @@ -96,13 +104,14 @@ static PHP_MINFO_FUNCTION(pq) php_info_print_table_end(); } -const zend_function_entry pq_functions[] = { +static const zend_function_entry pq_functions[] = { {0} }; static zend_module_dep pq_module_deps[] = { ZEND_MOD_REQUIRED("raphf") ZEND_MOD_REQUIRED("spl") + ZEND_MOD_OPTIONAL("json") ZEND_MOD_END }; @@ -117,7 +126,7 @@ zend_module_entry pq_module_entry = { NULL,/*PHP_RINIT(pq),*/ NULL,/*PHP_RSHUTDOWN(pq),*/ PHP_MINFO(pq), - PHP_PQ_EXT_VERSION, + PHP_PQ_VERSION, STANDARD_MODULE_PROPERTIES };