now try something different
[m6w6/ext-pq] / src / php_pqcancel.c
index 326cbcd3ecab97d8732dcd2f384fc78ff6a9571e..9711190c8686daf73be9e75aff94fcddea5a88a4 100644 (file)
@@ -85,7 +85,7 @@ ZEND_END_ARG_INFO();
 static PHP_METHOD(pqcancel, __construct) {
        zend_error_handling zeh;
        zval *zconn;
-       STATUS rv;
+       ZEND_RESULT_CODE rv;
 
        zend_replace_error_handling(EH_THROW, exce(EX_INVALID_ARGUMENT), &zeh TSRMLS_CC);
        rv = zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "O", &zconn, php_pqconn_class_entry);
@@ -117,7 +117,7 @@ ZEND_BEGIN_ARG_INFO_EX(ai_pqcancel_cancel, 0, 0, 0)
 ZEND_END_ARG_INFO();
 static PHP_METHOD(pqcancel, cancel) {
        zend_error_handling zeh;
-       STATUS rv;
+       ZEND_RESULT_CODE rv;
 
        zend_replace_error_handling(EH_THROW, exce(EX_INVALID_ARGUMENT), &zeh TSRMLS_CC);
        rv = zend_parse_parameters_none();
@@ -144,6 +144,12 @@ static zend_function_entry php_pqcancel_methods[] = {
        {0}
 };
 
+PHP_MSHUTDOWN_FUNCTION(pqcancel)
+{
+       zend_hash_destroy(&php_pqcancel_object_prophandlers);
+       return SUCCESS;
+}
+
 PHP_MINIT_FUNCTION(pqcancel)
 {
        zend_class_entry ce = {0};
@@ -158,6 +164,8 @@ PHP_MINIT_FUNCTION(pqcancel)
        php_pqcancel_object_handlers.write_property = php_pq_object_write_prop;
        php_pqcancel_object_handlers.clone_obj = NULL;
        php_pqcancel_object_handlers.get_property_ptr_ptr = NULL;
+       php_pqcancel_object_handlers.get_gc = NULL;
+       php_pqcancel_object_handlers.get_properties = php_pq_object_properties;
        php_pqcancel_object_handlers.get_debug_info = php_pq_object_debug_info;
 
        zend_hash_init(&php_pqcancel_object_prophandlers, 1, NULL, NULL, 1);