X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-pq;a=blobdiff_plain;f=src%2Fphp_pq_module.c;h=cb7a4e9713454c3f4a601af26d844ae0f25c109a;hp=02cd6dbc8ccc89dee746abf9023b4319acf33bd7;hb=0bce4e6693c3077acc32f833442769cc7de121ef;hpb=17e6dcce1f6176f0c428e14964bf8320f1de2779 diff --git a/src/php_pq_module.c b/src/php_pq_module.c index 02cd6db..cb7a4e9 100644 --- a/src/php_pq_module.c +++ b/src/php_pq_module.c @@ -69,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; }