assert(info != NULL);
if (switch_core_file_read(info->fh, data, &my_datalen) != SWITCH_STATUS_SUCCESS) {
- switch_core_file_close(info->fh);
+ if (switch_test_flag(info->fh, SWITCH_FILE_OPEN)) {
+ switch_core_file_close(info->fh);
+ }
unlink(info->file);
return SWITCH_STATUS_FALSE;
}
*datalen = my_datalen * 2;
if (datalen == 0) {
- switch_core_file_close(info->fh);
+ if (switch_test_flag(info->fh, SWITCH_FILE_OPEN)) {
+ switch_core_file_close(info->fh);
+ }
unlink(info->file);
return SWITCH_STATUS_BREAK;
} else {
tts_commandline_t *info = (tts_commandline_t *) sh->private_info;
assert(info != NULL);
- if (info->fh != NULL && info->fh->file_interface != NULL) {
+ if (info->fh != NULL && info->fh->file_interface != NULL && switch_test_flag(info->fh, SWITCH_FILE_OPEN)) {
switch_core_file_close(info->fh);
}
if (switch_file_exists(info->file, NULL) == SWITCH_STATUS_SUCCESS) {