Hi,

>From the pecl/printer extension:

static void php_printer_shutdown(zend_printer_globals *printer_globals
TSRMLS_DC) {
        if (printer_globals->default_printer) {
                efree(printer_globals->default_printer);
        }
}

PHP_MINIT_FUNCTION(printer)
{
    ZEND_INIT_MODULE_GLOBALS(printer, php_printer_init,
php_printer_shutdown);
..


This code fails when the module is shutting down. The mudule is compiled
against PHP5, and it works fine with PHP4.

If I change efree() to free() (and change the estrdup() to strdup()) the
code works fine. I have checked the string just before calling efree and
it is allocated and has a value.

Is there any problem calling efree() from a shutdown function ?

- Frank
> Hi,
> 
> stdlib.h is included in line 106 of bindlib_w32\conf\portability.h.
This
> causes the linker to look for __pctype and __mb_cur_max. This is not a
> problem for the old style builds but with Wez' new build system it
causes
> a linking problem.
> 
> Removing line 106 form this file solves the problem and as far as I can
> tell it does not cause any other problems.
> 
> - Frank
> 
> -- 
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to