mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
Merge #9634 'fsync: Ignore ENOTSUP. Fix writing to SMB.'
This commit is contained in:
commit
0be6d3c86f
@ -169,7 +169,7 @@ void socket_watcher_close(SocketWatcher *watcher, socket_close_cb cb)
|
|||||||
FUNC_ATTR_NONNULL_ARG(1)
|
FUNC_ATTR_NONNULL_ARG(1)
|
||||||
{
|
{
|
||||||
watcher->close_cb = cb;
|
watcher->close_cb = cb;
|
||||||
uv_close((uv_handle_t *)watcher->stream, close_cb);
|
uv_close(STRUCT_CAST(uv_handle_t, watcher->stream), close_cb);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void connection_event(void **argv)
|
static void connection_event(void **argv)
|
||||||
|
@ -3405,7 +3405,9 @@ restore_backup:
|
|||||||
// (could be a pipe).
|
// (could be a pipe).
|
||||||
// If the 'fsync' option is FALSE, don't fsync(). Useful for laptops.
|
// If the 'fsync' option is FALSE, don't fsync(). Useful for laptops.
|
||||||
int error;
|
int error;
|
||||||
if (p_fs && (error = os_fsync(fd)) != 0 && !device) {
|
if (p_fs && (error = os_fsync(fd)) != 0 && !device
|
||||||
|
// fsync not supported on this storage.
|
||||||
|
&& error != UV_ENOTSUP) {
|
||||||
SET_ERRMSG_ARG(_("E667: Fsync failed: %s"), error);
|
SET_ERRMSG_ARG(_("E667: Fsync failed: %s"), error);
|
||||||
end = 0;
|
end = 0;
|
||||||
}
|
}
|
||||||
|
@ -229,7 +229,10 @@ int file_fsync(FileDescriptor *const fp)
|
|||||||
return flush_error;
|
return flush_error;
|
||||||
}
|
}
|
||||||
const int fsync_error = os_fsync(fp->fd);
|
const int fsync_error = os_fsync(fp->fd);
|
||||||
if (fsync_error != UV_EINVAL && fsync_error != UV_EROFS) {
|
if (fsync_error != UV_EINVAL
|
||||||
|
&& fsync_error != UV_EROFS
|
||||||
|
// fsync not supported on this storage.
|
||||||
|
&& fsync_error != UV_ENOTSUP) {
|
||||||
return fsync_error;
|
return fsync_error;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -643,7 +643,7 @@ ptrdiff_t os_write(const int fd, const char *const buf, const size_t size,
|
|||||||
///
|
///
|
||||||
/// @param fd the file descriptor of the file to flush to disk.
|
/// @param fd the file descriptor of the file to flush to disk.
|
||||||
///
|
///
|
||||||
/// @return `0` on success, a libuv error code on failure.
|
/// @return 0 on success, or libuv error code on failure.
|
||||||
int os_fsync(int fd)
|
int os_fsync(int fd)
|
||||||
{
|
{
|
||||||
int r;
|
int r;
|
||||||
|
4
third-party/CMakeLists.txt
vendored
4
third-party/CMakeLists.txt
vendored
@ -123,8 +123,8 @@ if(WIN32)
|
|||||||
set(LIBUV_URL https://github.com/neovim/libuv/archive/0ed7feb71ca949f7a96ccb102481d17ea1bb5933.tar.gz)
|
set(LIBUV_URL https://github.com/neovim/libuv/archive/0ed7feb71ca949f7a96ccb102481d17ea1bb5933.tar.gz)
|
||||||
set(LIBUV_SHA256 813fe763022f19878557c6fde311b6394fb9180caaaab0dd98d8704732234508)
|
set(LIBUV_SHA256 813fe763022f19878557c6fde311b6394fb9180caaaab0dd98d8704732234508)
|
||||||
else()
|
else()
|
||||||
set(LIBUV_URL https://github.com/libuv/libuv/archive/v1.23.2.tar.gz)
|
set(LIBUV_URL https://github.com/libuv/libuv/archive/v1.26.0.tar.gz)
|
||||||
set(LIBUV_SHA256 30af979c4f4b8d1b895ae6d115f7400c751542ccb9e656350fc89fda08d4eabd)
|
set(LIBUV_SHA256 e414cf74615b7dae768f0f5667092f1d4975f5067c087bcbe0641e241ebe4693)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(MSGPACK_URL https://github.com/msgpack/msgpack-c/releases/download/cpp-3.0.0/msgpack-3.0.0.tar.gz)
|
set(MSGPACK_URL https://github.com/msgpack/msgpack-c/releases/download/cpp-3.0.0/msgpack-3.0.0.tar.gz)
|
||||||
|
Loading…
Reference in New Issue
Block a user