X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pq_module.c;h=cb7a4e9713454c3f4a601af26d844ae0f25c109a;hp=12a6e4b110fec42f039b78531e5123a812eb92a9;hb=0bce4e6693c3077acc32f833442769cc7de121ef;hpb=9f5cecf26bd70a92ed013f31afec59e272623ac1 diff --git a/src/php_pq_module.c b/src/php_pq_module.c index 12a6e4b..cb7a4e9 100644 --- a/src/php_pq_module.c +++ b/src/php_pq_module.c @@ -52,6 +52,7 @@ static PHP_MINIT_FUNCTION(pq) { + PHP_MINIT_CALL(pq_misc); PHP_MINIT_CALL(pqexc); PHP_MINIT_CALL(pqconn); @@ -68,9 +69,25 @@ 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(pqtxn); + PHP_MSHUT_CALL(pqstm); + PHP_MSHUT_CALL(pqres); + PHP_MSHUT_CALL(pqtypes); + PHP_MSHUT_CALL(pqcancel); + PHP_MSHUT_CALL(pqconn); + return SUCCESS; }