mirror of
https://github.com/irssi/irssi.git
synced 2025-02-02 15:08:01 -05:00
support for threaded perl. patch by mls@suse.de
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2930 dbcabf3a-b0e7-0310-adc4-f8d773084564
This commit is contained in:
parent
fe73785c7a
commit
f31b59b48b
@ -219,12 +219,12 @@ char *perl_get_use_list(void)
|
||||
return ret;
|
||||
}
|
||||
|
||||
void irssi_callXS(void (*subaddr)(CV* cv), CV *cv, SV **mark)
|
||||
void irssi_callXS(void (*subaddr)(pTHX_ CV* cv), CV *cv, SV **mark)
|
||||
{
|
||||
dSP;
|
||||
|
||||
PUSHMARK(mark);
|
||||
(*subaddr)(cv);
|
||||
(*subaddr)(aTHX_ cv);
|
||||
|
||||
PUTBACK;
|
||||
}
|
||||
|
@ -32,6 +32,10 @@ SV *perl_func_sv_inc(SV *func, const char *package);
|
||||
extern STRLEN PL_na;
|
||||
#endif
|
||||
|
||||
#ifndef pTHX_
|
||||
# define pTHX_
|
||||
#endif
|
||||
|
||||
#define iobject_bless(object) \
|
||||
((object) == NULL ? &PL_sv_undef : \
|
||||
irssi_bless_iobject((object)->type, (object)->chat_type, object))
|
||||
@ -57,10 +61,10 @@ void irssi_add_plains(PLAIN_OBJECT_INIT_REC *objects);
|
||||
char *perl_get_use_list(void);
|
||||
|
||||
#define irssi_boot(x) { \
|
||||
extern void boot_Irssi__##x(CV *cv); \
|
||||
extern void boot_Irssi__##x(pTHX_ CV *cv); \
|
||||
irssi_callXS(boot_Irssi__##x, cv, mark); \
|
||||
}
|
||||
void irssi_callXS(void (*subaddr)(CV* cv), CV *cv, SV **mark);
|
||||
void irssi_callXS(void (*subaddr)(pTHX_ CV* cv), CV *cv, SV **mark);
|
||||
|
||||
void perl_common_start(void);
|
||||
void perl_common_stop(void);
|
||||
|
@ -84,7 +84,7 @@ static void perl_script_destroy(PERL_SCRIPT_REC *script)
|
||||
g_free(script);
|
||||
}
|
||||
|
||||
extern void boot_DynaLoader(CV* cv);
|
||||
extern void boot_DynaLoader(pTHX_ CV* cv);
|
||||
|
||||
#if PERL_STATIC_LIBS == 1
|
||||
extern void boot_Irssi(CV *cv);
|
||||
@ -101,7 +101,7 @@ XS(boot_Irssi_Core)
|
||||
}
|
||||
#endif
|
||||
|
||||
static void xs_init(void)
|
||||
static void xs_init(pTHX)
|
||||
{
|
||||
dXSUB_SYS;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user