summaryrefslogtreecommitdiffstats
path: root/perl.c
diff options
context:
space:
mode:
authorcebka@mailsupport.rambler.ru <cebka@mailsupport.rambler.ru>2008-09-21 07:23:29 +0400
committercebka@mailsupport.rambler.ru <cebka@mailsupport.rambler.ru>2008-09-21 07:23:29 +0400
commit82e2d7ab53eb60bdc52d2e736b097d68d489aa9c (patch)
treeec77bdc53fdde60016583b0ca012eb11d57f5302 /perl.c
parentf67c28af2aaf03b60e5bbf606fc694b04ccc68c5 (diff)
downloadrspamd-82e2d7ab53eb60bdc52d2e736b097d68d489aa9c.tar.gz
rspamd-82e2d7ab53eb60bdc52d2e736b097d68d489aa9c.zip
* Use internal task pool for memcached operation exported for perl
* Make AV reference mortal as it is described in perlxs (3)
Diffstat (limited to 'perl.c')
-rw-r--r--perl.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/perl.c b/perl.c
index 2e1c9e5d7..870283835 100644
--- a/perl.c
+++ b/perl.c
@@ -141,7 +141,7 @@ perl_call_chain_filter (const char *function, struct worker_task *task, int *mar
}
PUSHMARK (SP);
XPUSHs (sv_2mortal (newSViv (PTR2IV (task))));
- XPUSHs (AvARRAY (av));
+ XPUSHs (sv_2mortal ((SV *)AvARRAY (av)));
PUTBACK;
call_pv (function, G_SCALAR);
@@ -179,8 +179,6 @@ void perl_call_memcached_callback (memcached_ctx_t *ctx, memc_error_t error, voi
call_sv (callback_data->callback, G_SCALAR);
- free (callback_data);
- free (ctx);
/* Set save point */
callback_data->task->save.saved = 0;
process_filters (callback_data->task);