moar tests
[m6w6/ext-pq] / src / php_pq_module.c
index 12a6e4b110fec42f039b78531e5123a812eb92a9..cb7a4e9713454c3f4a601af26d844ae0f25c109a 100644 (file)
@@ -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;
 }