Mercurial > hg > nginx-quic
comparison src/core/ngx_file.c @ 3033:db3e5c4c7413
fix copy failure logging and stale files removal, introduced in r3025
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 20 Aug 2009 13:41:32 +0000 |
parents | 524ba56ba9f7 |
children | d7f7aabe5ac2 |
comparison
equal
deleted
inserted
replaced
3032:524ba56ba9f7 | 3033:db3e5c4c7413 |
---|---|
613 (void) ngx_sprintf(name, "%*s.%010uD%Z", to->len, to->data, | 613 (void) ngx_sprintf(name, "%*s.%010uD%Z", to->len, to->data, |
614 (uint32_t) ngx_next_temp_number(0)); | 614 (uint32_t) ngx_next_temp_number(0)); |
615 | 615 |
616 if (ngx_copy_file(src->data, name, &cf) == NGX_OK) { | 616 if (ngx_copy_file(src->data, name, &cf) == NGX_OK) { |
617 | 617 |
618 if (ngx_rename_file(name, to->data) == NGX_FILE_ERROR) { | 618 if (ngx_rename_file(name, to->data) != NGX_FILE_ERROR) { |
619 ngx_free(name); | 619 ngx_free(name); |
620 goto failed; | 620 |
621 } | 621 if (ngx_delete_file(src->data) == NGX_FILE_ERROR) { |
622 | 622 ngx_log_error(NGX_LOG_CRIT, ext->log, ngx_errno, |
623 ngx_free(name); | 623 ngx_delete_file_n " \"%s\" failed", |
624 | 624 src->data); |
625 if (ngx_delete_file(src->data) == NGX_FILE_ERROR) { | 625 return NGX_ERROR; |
626 } | |
627 | |
628 return NGX_OK; | |
629 } | |
630 | |
631 ngx_log_error(NGX_LOG_CRIT, ext->log, ngx_errno, | |
632 ngx_rename_file_n " \"%s\" to \"%s\" failed", | |
633 name, to->data); | |
634 | |
635 if (ngx_delete_file(name) == NGX_FILE_ERROR) { | |
626 ngx_log_error(NGX_LOG_CRIT, ext->log, ngx_errno, | 636 ngx_log_error(NGX_LOG_CRIT, ext->log, ngx_errno, |
627 ngx_delete_file_n " \"%s\" failed", src->data); | 637 ngx_delete_file_n " \"%s\" failed", name); |
628 | 638 |
629 return NGX_ERROR; | 639 } |
630 } | |
631 | |
632 return NGX_OK; | |
633 } | 640 } |
634 | 641 |
635 ngx_free(name); | 642 ngx_free(name); |
643 | |
644 err = 0; | |
636 } | 645 } |
637 | 646 |
638 failed: | 647 failed: |
639 | 648 |
640 if (ext->delete_file) { | 649 if (ext->delete_file) { |