only delete call files if the timestamp on the file is not in the future, so
that a call file can be reused (issue #6750, patch by moy, committed patch is slightly simplified) git-svn-id: http://svn.digium.com/svn/asterisk/trunk@28705 f38db490-d61c-443f-a65b-d21fe96a405b
This commit is contained in:
parent
b6a61a7d6b
commit
d7bcf1c25c
|
@ -254,6 +254,7 @@ static void *attempt_thread(void *data)
|
||||||
{
|
{
|
||||||
struct outgoing *o = data;
|
struct outgoing *o = data;
|
||||||
int res, reason;
|
int res, reason;
|
||||||
|
struct stat current_file_status;
|
||||||
if (!ast_strlen_zero(o->app)) {
|
if (!ast_strlen_zero(o->app)) {
|
||||||
if (option_verbose > 2)
|
if (option_verbose > 2)
|
||||||
ast_verbose(VERBOSE_PREFIX_3 "Attempting call on %s/%s for application %s(%s) (Retry %d)\n", o->tech, o->dest, o->app, o->data, o->retries);
|
ast_verbose(VERBOSE_PREFIX_3 "Attempting call on %s/%s for application %s(%s) (Retry %d)\n", o->tech, o->dest, o->app, o->data, o->retries);
|
||||||
|
@ -276,7 +277,10 @@ static void *attempt_thread(void *data)
|
||||||
} else {
|
} else {
|
||||||
ast_log(LOG_NOTICE, "Call completed to %s/%s\n", o->tech, o->dest);
|
ast_log(LOG_NOTICE, "Call completed to %s/%s\n", o->tech, o->dest);
|
||||||
ast_log(LOG_EVENT, "Queued call to %s/%s completed\n", o->tech, o->dest);
|
ast_log(LOG_EVENT, "Queued call to %s/%s completed\n", o->tech, o->dest);
|
||||||
unlink(o->fn);
|
if (!stat(o->fn, ¤t_file_status)) {
|
||||||
|
if (time(NULL) >= current_file_status.st_atime)
|
||||||
|
unlink(o->fn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
free_outgoing(o);
|
free_outgoing(o);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
Reference in New Issue