Mercurial > hg > nginx
changeset 3137:179f6dfcb7fe
preserve errno while ngx_free()
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 16 Sep 2009 13:28:20 +0000 |
parents | 47b7b6ac433e |
children | a2479937dbd8 |
files | src/os/win32/ngx_files.c |
diffstat | 1 files changed, 6 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/os/win32/ngx_files.c Tue Sep 15 15:12:03 2009 +0000 +++ b/src/os/win32/ngx_files.c Wed Sep 16 13:28:20 2009 +0000 @@ -18,9 +18,10 @@ ngx_fd_t ngx_open_file(u_char *name, u_long mode, u_long create, u_long access) { - u_short *u; - ngx_fd_t fd; - u_short utf16[NGX_UTF16_BUFLEN]; + u_short *u; + ngx_fd_t fd; + ngx_err_t err; + u_short utf16[NGX_UTF16_BUFLEN]; u = ngx_utf8_to_utf16(utf16, name, NGX_UTF16_BUFLEN); @@ -33,7 +34,9 @@ NULL, create, FILE_FLAG_BACKUP_SEMANTICS, NULL); if (u != utf16) { + err = ngx_errno; ngx_free(u); + ngx_set_errno(err); } return fd;