[Moscow.pm] Perl/XS Create closure

Mons Anderson mons на cpan.org
Вт Ноя 27 02:18:41 PST 2012


2012/11/27 Ruslan Zakirov <ruz на bestpractical.com>

>
> А следующее не подходит почему?
>
> AE::io( $fileno, $flag, sub { on_event($fileno, $flag) } );
>
> Накладные расходы вызова сабы?
>
>
> потому что on_event - сишная функция. и вот как-раз у меня не получается
так собрать анонимную функцию, находясь внутри XS.
т.е. грубо говоря

у меня есть
void on_event( ... ) { ... }

я могу сделать:
PUSHMARK(SP);
EXTEND(SP,3);
PUSHs( sv_fileno );
PUSHs( sv_flag );
PUSHs( ??? );
PUTBACK;
call_pv( "AE::io", G_VOID )

А что мне передать как 3й аргумент?

-- 
Best wishes,
Vladimir V. Perepelitsa aka Mons Anderson
<inthrax на gmail.com>, <mons на cpan.org>
http://github.com/Mons
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20121127/936790f6/attachment-0001.html>


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