Age | Commit message (Collapse) | Author |
|
The script unloading code originally worked like this:
1. Destroy package
2. Emit 'script destroyed' signal
3. Unhook script's signal handlers
If a script added a 'script destroyed' signal handler, unloading
that script would cause the 'script destroyed' signal to be sent to the
(already destroyed) package. This would cause a script error, which would
trigger a script unload, which would start the whole process over again,
until we run out of heap or stack space and segfault.
This commit simply reorders the operations so that the 'script destroyed'
signal is sent *after* the script is fully destroyed.
|
|
|
|
This way we reload all the scripts in the autorun folder.
|
|
forward ABI to perl modules
|
|
|
|
|
|
Add explicit checks into every module to match the ABI version defined
in common.h
|
|
Just a string replacement (but i did check every one of them)
sed -i 's/strcmp(/g_strcmp0(/g' **/*.c
|
|
Correct use of perl stack macros
|
|
Move PUTBACK to within the scope which uses the stack
|
|
Replace deprecated g_basename with g_path_get_basename.
|
|
get rid of PL_na
|
|
Further to pull #49 this is the result of an audit of the use of perl
stack macros. There were several cases where PUTBACK was being called
where the stack pointer could be out-of-date.
Also some misc. cleanup where the macros were used needlessly.
|
|
PUTBACK was being called even for the error path which didn't use the
stack. Emitting the "script error" signal can involve running Perl code
(Irssi:core::destroy) therefore the stack can be reallocated. This
can result in the perl stack being corrupted because the local stack
pointer is out of date (although as it's use of freed memory the crash
is not always instant).
|
|
This removes the calls to Perl_get_context() that get automatically
added to XS code for ancient source code compatibility reasons.
The result is about a ~60K size reduction in the binary (based on
comparing two 64-bit stripped irssi binaries compiled
--with-perl-staticlib).
|
|
|
|
|
|
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5058 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
Use g_string_printf() instead of g_string_sprintf() (which is considered deprecated.)
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@5004 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4998 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4992 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
bug #525, patch by Lukas Mai.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4991 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
This fixes perl crashes on startup on some machines.
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4989 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
bug #618
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4872 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
by Gerfried Fuchs (debian bug #495059).
git-svn-id: file:///var/www/svn.irssi.org/SVN/irssi/trunk@4871 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
it /script reset may cause irssi to crash.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4817 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4706 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4697 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4490 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4489 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4473 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
(thanks senneth)
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@4340 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
scripts and in topics, patch by Toby Peterson
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3707 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
fixes some crashes.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@3117 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2930 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
error message.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2885 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2641 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
/SET use_perl_lib
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2367 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
systems, use our own is_...() functions now instead.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2348 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
perl scripting might be executed during that signal and it clears the error
message.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2302 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
5.004, and changed all STRLEN n_a code to use PL_na instead.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2238 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
variants now also allow use of code references.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2199 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2180 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2178 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
characters are translated to '_' char .. now this behaviour is done also
when /SCRIPT UNLOAD is done, so people don't get confused why their "test-1"
script can't be unloaded.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2145 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
old "perl/core". The settings are automatically moved to the
perl/core/scripts for now - this will be removed before 0.7.99 comes out.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2101 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
weren't destroyed when error occured in them.
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@2053 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
match (doesn't crash).
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1985 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1917 dbcabf3a-b0e7-0310-adc4-f8d773084564
|
|
git-svn-id: http://svn.irssi.org/repos/irssi/trunk@1916 dbcabf3a-b0e7-0310-adc4-f8d773084564
|