Perl: fixed crash when a script exits abnormally
This commit is contained in:
parent
1b07c0f54b
commit
fd13e4046f
|
@ -408,7 +408,7 @@ timer_cb (void *userdata)
|
||||||
}
|
}
|
||||||
|
|
||||||
set_current_package (data->package);
|
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);
|
set_current_package (&PL_sv_undef);
|
||||||
SPAGAIN;
|
SPAGAIN;
|
||||||
|
|
||||||
|
@ -467,7 +467,7 @@ server_cb (char *word[], char *word_eol[], void *userdata)
|
||||||
|
|
||||||
data->depth++;
|
data->depth++;
|
||||||
set_current_package (data->package);
|
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);
|
set_current_package (&PL_sv_undef);
|
||||||
data->depth--;
|
data->depth--;
|
||||||
SPAGAIN;
|
SPAGAIN;
|
||||||
|
@ -516,7 +516,7 @@ command_cb (char *word[], char *word_eol[], void *userdata)
|
||||||
|
|
||||||
data->depth++;
|
data->depth++;
|
||||||
set_current_package (data->package);
|
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);
|
set_current_package (&PL_sv_undef);
|
||||||
data->depth--;
|
data->depth--;
|
||||||
SPAGAIN;
|
SPAGAIN;
|
||||||
|
@ -592,7 +592,7 @@ print_cb (char *word[], void *userdata)
|
||||||
|
|
||||||
data->depth++;
|
data->depth++;
|
||||||
set_current_package (data->package);
|
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);
|
set_current_package (&PL_sv_undef);
|
||||||
data->depth--;
|
data->depth--;
|
||||||
SPAGAIN;
|
SPAGAIN;
|
||||||
|
|
Loading…
Reference in New Issue