diff --git a/src/lib-sieve/sieve.c b/src/lib-sieve/sieve.c index 79a4ec4266236581238a11014b5d0d5c07763261..b3e560df84a3a5f09d6e8da96aeafa0b1ccd28be 100644 --- a/src/lib-sieve/sieve.c +++ b/src/lib-sieve/sieve.c @@ -380,11 +380,16 @@ sieve_open_script_real(struct sieve_script *script, enum sieve_error *error_r) { struct sieve_instance *svinst = sieve_script_svinst(script); + struct sieve_resource_usage rusage; struct sieve_binary *sbin; + sieve_resource_usage_init(&rusage); + /* Try to open the matching binary */ sbin = sieve_script_binary_load(script, error_r); if (sbin != NULL) { + sieve_binary_get_resource_usage(sbin, &rusage); + /* Ok, it exists; now let's see if it is up to date */ if (!sieve_binary_up_to_date(sbin, flags)) { /* Not up to date */ @@ -411,6 +416,8 @@ sieve_open_script_real(struct sieve_script *script, "Script `%s' from %s successfully compiled", sieve_script_name(script), sieve_script_location(script)); + + sieve_binary_set_resource_usage(sbin, &rusage); } return sbin;