| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 30926ac commit ffd938a
17 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -278,3 +278,4 @@ Brad King <brad.king@kitware.com> | |||
| 278 | 278 | Philippe Laferriere <laferriere.phil@gmail.com> | |
| 279 | 279 | Will Speak <lithiumflame@gmail.com> | |
| 280 | 280 | Hitesh Kanwathirtha <digitalinfinity@gmail.com> | |
| 281 | + Eric Sciple <ersciple@microsoft.com> | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,3 +1,31 @@ | |||
| 1 | + 2017.01.10, Version 1.10.2 (Stable), cb9f579a454b8db592030ffa274ae58df78dbe20 | ||
| 2 | + | ||
| 3 | + Changes since version 1.10.1: | ||
| 4 | + | ||
| 5 | + * Now working on version 1.10.2 (cjihrig) | ||
| 6 | + | ||
| 7 | + * darwin: fix fsync and fdatasync (Joran Dirk Greef) | ||
| 8 | + | ||
| 9 | + * Revert "Revert "win,tty: add support for ANSI codes in win10 v1511"" | ||
| 10 | + (Santiago Gimeno) | ||
| 11 | + | ||
| 12 | + * win,tty: fix MultiByteToWideChar output buffer (Santiago Gimeno) | ||
| 13 | + | ||
| 14 | + * win: remove dead code related to BACKUP_SEMANTICS (Sam Roberts) | ||
| 15 | + | ||
| 16 | + * win: fix comment in quote_cmd_arg (Eric Sciple) | ||
| 17 | + | ||
| 18 | + * darwin: use clock_gettime in macOS 10.12 (Saúl Ibarra Corretgé) | ||
| 19 | + | ||
| 20 | + * win, tty: fix crash on restarting with pending data (Nicholas Vavilov) | ||
| 21 | + | ||
| 22 | + * fs: fix uv__to_stat on BSD platforms (Santiago Gimeno) | ||
| 23 | + | ||
| 24 | + * win: map ERROR_ELEVATION_REQUIRED to UV_EACCES (Richard Lau) | ||
| 25 | + | ||
| 26 | + * win: fix free() on bad input in uv_getaddrinfo() (Ben Noordhuis) | ||
| 27 | + | ||
| 28 | + | ||
| 1 | 29 | 2016.11.17, Version 1.10.1 (Stable), 2e49e332bdede6db7cf17fa784a902e8386d5d86 | |
| 2 | 30 | ||
| 3 | 31 | Changes since version 1.10.0: | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -1,4 +1,4 @@ | |||
| 1 | - version: v1.10.1.build{build} | ||
| 1 | + version: v1.10.2.build{build} | ||
| 2 | 2 | ||
| 3 | 3 | install: | |
| 4 | 4 | - cinst -y nsis | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -13,7 +13,7 @@ | |||
| 13 | 13 | # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | |
| 14 | 14 | ||
| 15 | 15 | AC_PREREQ(2.57) | |
| 16 | - AC_INIT([libuv], [1.10.1], [https://github.com/libuv/libuv/issues]) | ||
| 16 | + AC_INIT([libuv], [1.10.2], [https://github.com/libuv/libuv/issues]) | ||
| 17 | 17 | AC_CONFIG_MACRO_DIR([m4]) | |
| 18 | 18 | m4_include([m4/libuv-extra-automake-flags.m4]) | |
| 19 | 19 | m4_include([m4/as_case.m4]) | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -32,7 +32,7 @@ | |||
| 32 | 32 | ||
| 33 | 33 | #define UV_VERSION_MAJOR 1 | |
| 34 | 34 | #define UV_VERSION_MINOR 10 | |
| 35 | - #define UV_VERSION_PATCH 1 | ||
| 35 | + #define UV_VERSION_PATCH 2 | ||
| 36 | 36 | #define UV_VERSION_IS_RELEASE 1 | |
| 37 | 37 | #define UV_VERSION_SUFFIX "" | |
| 38 | 38 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -34,8 +34,12 @@ | |||
| 34 | 34 | #include <mach-o/dyld.h> /* _NSGetExecutablePath */ | |
| 35 | 35 | #include <sys/resource.h> | |
| 36 | 36 | #include <sys/sysctl.h> | |
| 37 | + #include <time.h> | ||
| 37 | 38 | #include <unistd.h> /* sysconf */ | |
| 38 | 39 | ||
| 40 | + #undef NANOSEC | ||
| 41 | + #define NANOSEC ((uint64_t) 1e9) | ||
| 42 | + | ||
| 39 | 43 | ||
| 40 | 44 | int uv__platform_loop_init(uv_loop_t* loop) { | |
| 41 | 45 | loop->cf_state = NULL; | |
@@ -53,6 +57,11 @@ void uv__platform_loop_delete(uv_loop_t* loop) { | |||
| 53 | 57 | ||
| 54 | 58 | ||
| 55 | 59 | uint64_t uv__hrtime(uv_clocktype_t type) { | |
| 60 | + #ifdef MAC_OS_X_VERSION_10_12 | ||
| 61 | + struct timespec ts; | ||
| 62 | + clock_gettime(CLOCK_MONOTONIC, &ts); | ||
| 63 | + return (((uint64_t) ts.tv_sec) * NANOSEC + ts.tv_nsec); | ||
| 64 | + #else | ||
| 56 | 65 | static mach_timebase_info_data_t info; | |
| 57 | 66 | ||
| 58 | 67 | if ((ACCESS_ONCE(uint32_t, info.numer) == 0 || | |
@@ -61,6 +70,7 @@ uint64_t uv__hrtime(uv_clocktype_t type) { | |||
| 61 | 70 | abort(); | |
| 62 | 71 | ||
| 63 | 72 | return mach_absolute_time() * info.numer / info.denom; | |
| 73 | + #endif | ||
| 64 | 74 | } | |
| 65 | 75 | ||
| 66 | 76 | ||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -129,8 +129,23 @@ | |||
| 129 | 129 | static ssize_t uv__fs_fdatasync(uv_fs_t* req) { | |
| 130 | 130 | #if defined(__linux__) || defined(__sun) || defined(__NetBSD__) | |
| 131 | 131 | return fdatasync(req->file); | |
| 132 | - #elif defined(__APPLE__) && defined(SYS_fdatasync) | ||
| 133 | - return syscall(SYS_fdatasync, req->file); | ||
| 132 | + #elif defined(__APPLE__) | ||
| 133 | + /* Apple's fdatasync and fsync explicitly do NOT flush the drive write cache | ||
| 134 | + * to the drive platters. This is in contrast to Linux's fdatasync and fsync | ||
| 135 | + * which do, according to recent man pages. F_FULLFSYNC is Apple's equivalent | ||
| 136 | + * for flushing buffered data to permanent storage. | ||
| 137 | + */ | ||
| 138 | + return fcntl(req->file, F_FULLFSYNC); | ||
| 139 | + #else | ||
| 140 | + return fsync(req->file); | ||
| 141 | + #endif | ||
| 142 | + } | ||
| 143 | + | ||
| 144 | + | ||
| 145 | + static ssize_t uv__fs_fsync(uv_fs_t* req) { | ||
| 146 | + #if defined(__APPLE__) | ||
| 147 | + /* See the comment in uv__fs_fdatasync. */ | ||
| 148 | + return fcntl(req->file, F_FULLFSYNC); | ||
| 134 | 149 | #else | |
| 135 | 150 | return fsync(req->file); | |
| 136 | 151 | #endif | |
@@ -798,6 +813,10 @@ static void uv__to_stat(struct stat* src, uv_stat_t* dst) { | |||
| 798 | 813 | dst->st_flags = 0; | |
| 799 | 814 | dst->st_gen = 0; | |
| 800 | 815 | #elif !defined(_AIX) && ( \ | |
| 816 | + defined(__DragonFly__) || \ | ||
| 817 | + defined(__FreeBSD__) || \ | ||
| 818 | + defined(__OpenBSD__) || \ | ||
| 819 | + defined(__NetBSD__) || \ | ||
| 801 | 820 | defined(_GNU_SOURCE) || \ | |
| 802 | 821 | defined(_BSD_SOURCE) || \ | |
| 803 | 822 | defined(_SVID_SOURCE) || \ | |
@@ -809,9 +828,7 @@ static void uv__to_stat(struct stat* src, uv_stat_t* dst) { | |||
| 809 | 828 | dst->st_mtim.tv_nsec = src->st_mtim.tv_nsec; | |
| 810 | 829 | dst->st_ctim.tv_sec = src->st_ctim.tv_sec; | |
| 811 | 830 | dst->st_ctim.tv_nsec = src->st_ctim.tv_nsec; | |
| 812 | - # if defined(__DragonFly__) || \ | ||
| 813 | - defined(__FreeBSD__) || \ | ||
| 814 | - defined(__OpenBSD__) || \ | ||
| 831 | + # if defined(__FreeBSD__) || \ | ||
| 815 | 832 | defined(__NetBSD__) | |
| 816 | 833 | dst->st_birthtim.tv_sec = src->st_birthtim.tv_sec; | |
| 817 | 834 | dst->st_birthtim.tv_nsec = src->st_birthtim.tv_nsec; | |
@@ -945,7 +962,7 @@ static void uv__fs_work(struct uv__work* w) { | |||
| 945 | 962 | X(FCHOWN, fchown(req->file, req->uid, req->gid)); | |
| 946 | 963 | X(FDATASYNC, uv__fs_fdatasync(req)); | |
| 947 | 964 | X(FSTAT, uv__fs_fstat(req->file, &req->statbuf)); | |
| 948 | - X(FSYNC, fsync(req->file)); | ||
| 965 | + X(FSYNC, uv__fs_fsync(req)); | ||
| 949 | 966 | X(FTRUNCATE, ftruncate(req->file, req->off)); | |
| 950 | 967 | X(FUTIME, uv__fs_futime(req)); | |
| 951 | 968 | X(LSTAT, uv__fs_lstat(req->path, &req->statbuf)); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -71,6 +71,7 @@ int uv_translate_sys_error(int sys_errno) { | |||
| 71 | 71 | switch (sys_errno) { | |
| 72 | 72 | case ERROR_NOACCESS: return UV_EACCES; | |
| 73 | 73 | case WSAEACCES: return UV_EACCES; | |
| 74 | + case ERROR_ELEVATION_REQUIRED: return UV_EACCES; | ||
| 74 | 75 | case ERROR_ADDRESS_ALREADY_ASSOCIATED: return UV_EADDRINUSE; | |
| 75 | 76 | case WSAEADDRINUSE: return UV_EADDRINUSE; | |
| 76 | 77 | case WSAEADDRNOTAVAIL: return UV_EADDRNOTAVAIL; | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -403,7 +403,6 @@ void fs__open(uv_fs_t* req) { | |||
| 403 | 403 | switch (flags & (_O_RDONLY | _O_WRONLY | _O_RDWR)) { | |
| 404 | 404 | case _O_RDONLY: | |
| 405 | 405 | access = FILE_GENERIC_READ; | |
| 406 | - attributes |= FILE_FLAG_BACKUP_SEMANTICS; | ||
| 407 | 406 | break; | |
| 408 | 407 | case _O_WRONLY: | |
| 409 | 408 | access = FILE_GENERIC_WRITE; | |
@@ -418,7 +417,6 @@ void fs__open(uv_fs_t* req) { | |||
| 418 | 417 | if (flags & _O_APPEND) { | |
| 419 | 418 | access &= ~FILE_WRITE_DATA; | |
| 420 | 419 | access |= FILE_APPEND_DATA; | |
| 421 | - attributes &= ~FILE_FLAG_BACKUP_SEMANTICS; | ||
| 422 | 420 | } | |
| 423 | 421 | ||
| 424 | 422 | /* | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -262,8 +262,7 @@ int uv_getaddrinfo(uv_loop_t* loop, | |||
| 262 | 262 | int err; | |
| 263 | 263 | ||
| 264 | 264 | if (req == NULL || (node == NULL && service == NULL)) { | |
| 265 | - err = WSAEINVAL; | ||
| 266 | - goto error; | ||
| 265 | + return UV_EINVAL; | ||
| 267 | 266 | } | |
| 268 | 267 | ||
| 269 | 268 | uv_req_init(loop, (uv_req_t*)req); | |
| Back | FazBrowse Home | New Git URL |
0 commit comments