[Moscow.pm] Вызов родительского деструктора из PerlXS

Nikita Aznauryan nikita-aznaourian на yandex.ru
Пн Июл 19 08:10:49 PDT 2010


Если кому-то понадобится, все решается довольно просто.

Я добавил в XS функцию

void
ClassName::CallDestructor()
CODE:
   delete THIS;

и убрал оттуда функцию DESTROY

и добавил деструктор в базовый класс таким образом:

sub DESTROY {
   ...
$self->CallDestructor() if $self->can("CallDestructor");
..
}



15.07.2010, 17:47, "Dmitry Karasik" <dmitry на karasik.eu.org>:
> On Thu, Jul 15, 2010 at 05:13:48PM +0400, Nikita Aznauryan wrote:
>
>>  Вопрос , как из XS-ного деструктора вызывать родительский деструктор.
>
> спросите на perlmonks.org, я както с этим ковырялся, там играет и множественное
> наследие, и autoload, и новый mro, и черт ногу сломит, я даже не порекомендую
> ничего кроме как может самому порыть в сторону семейства функций
> Perl_gv_fetchmeth.
>
> --
> Sincerely,
> Dmitry Karasik
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org


Подробная информация о списке рассылки Moscow-pm