diff options
author | Farow <farow_spam@lavabit.com> | 2013-10-09 11:33:10 +0300 |
---|---|---|
committer | TingPing <tingping@tingping.se> | 2013-10-13 14:26:54 -0400 |
commit | fd13e4046f508e9ebe4eb463966ff2858f053cdd (patch) | |
tree | c46e5c9f001983bb331439d696b8af42e24f8c57 | |
parent | 1b07c0f54b236c458ab24f1383c2f9826285a4c4 (diff) |
Perl: fixed crash when a script exits abnormally
-rw-r--r-- | plugins/perl/perl.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/plugins/perl/perl.c b/plugins/perl/perl.c index f3ce8883..76722f7f 100644 --- a/plugins/perl/perl.c +++ b/plugins/perl/perl.c @@ -408,7 +408,7 @@ timer_cb (void *userdata) } set_current_package (data->package); - count = call_sv (data->callback, G_EVAL); + count = call_sv (data->callback, G_EVAL | G_KEEPERR); set_current_package (&PL_sv_undef); SPAGAIN; @@ -467,7 +467,7 @@ server_cb (char *word[], char *word_eol[], void *userdata) data->depth++; set_current_package (data->package); - count = call_sv (data->callback, G_EVAL); + count = call_sv (data->callback, G_EVAL | G_KEEPERR); set_current_package (&PL_sv_undef); data->depth--; SPAGAIN; @@ -516,7 +516,7 @@ command_cb (char *word[], char *word_eol[], void *userdata) data->depth++; set_current_package (data->package); - count = call_sv (data->callback, G_EVAL); + count = call_sv (data->callback, G_EVAL | G_KEEPERR); set_current_package (&PL_sv_undef); data->depth--; SPAGAIN; @@ -592,7 +592,7 @@ print_cb (char *word[], void *userdata) data->depth++; set_current_package (data->package); - count = call_sv (data->callback, G_EVAL); + count = call_sv (data->callback, G_EVAL | G_KEEPERR); set_current_package (&PL_sv_undef); data->depth--; SPAGAIN; |