Merge branch 'ef/mingw-write'
* ef/mingw-write: mingw: remove mingw_write prefer xwrite instead of writemaint
commit
7b4e2b7e6a
|
@ -367,7 +367,7 @@ static void squash_message(struct commit *commit, struct commit_list *remotehead
|
||||||
sha1_to_hex(commit->object.sha1));
|
sha1_to_hex(commit->object.sha1));
|
||||||
pretty_print_commit(&ctx, commit, &out);
|
pretty_print_commit(&ctx, commit, &out);
|
||||||
}
|
}
|
||||||
if (write(fd, out.buf, out.len) < 0)
|
if (write_in_full(fd, out.buf, out.len) != out.len)
|
||||||
die_errno(_("Writing SQUASH_MSG"));
|
die_errno(_("Writing SQUASH_MSG"));
|
||||||
if (close(fd))
|
if (close(fd))
|
||||||
die_errno(_("Finishing SQUASH_MSG"));
|
die_errno(_("Finishing SQUASH_MSG"));
|
||||||
|
|
|
@ -304,23 +304,6 @@ int mingw_open (const char *filename, int oflags, ...)
|
||||||
return fd;
|
return fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef write
|
|
||||||
ssize_t mingw_write(int fd, const void *buf, size_t count)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
* While write() calls to a file on a local disk are translated
|
|
||||||
* into WriteFile() calls with a maximum size of 64KB on Windows
|
|
||||||
* XP and 256KB on Vista, no such cap is placed on writes to
|
|
||||||
* files over the network on Windows XP. Unfortunately, there
|
|
||||||
* seems to be a limit of 32MB-28KB on X64 and 64MB-32KB on x86;
|
|
||||||
* bigger writes fail on Windows XP.
|
|
||||||
* So we cap to a nice 31MB here to avoid write failures over
|
|
||||||
* the net without changing the number of WriteFile() calls in
|
|
||||||
* the local case.
|
|
||||||
*/
|
|
||||||
return write(fd, buf, min(count, 31 * 1024 * 1024));
|
|
||||||
}
|
|
||||||
|
|
||||||
static BOOL WINAPI ctrl_ignore(DWORD type)
|
static BOOL WINAPI ctrl_ignore(DWORD type)
|
||||||
{
|
{
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
@ -180,9 +180,6 @@ int mingw_rmdir(const char *path);
|
||||||
int mingw_open (const char *filename, int oflags, ...);
|
int mingw_open (const char *filename, int oflags, ...);
|
||||||
#define open mingw_open
|
#define open mingw_open
|
||||||
|
|
||||||
ssize_t mingw_write(int fd, const void *buf, size_t count);
|
|
||||||
#define write mingw_write
|
|
||||||
|
|
||||||
int mingw_fgetc(FILE *stream);
|
int mingw_fgetc(FILE *stream);
|
||||||
#define fgetc mingw_fgetc
|
#define fgetc mingw_fgetc
|
||||||
|
|
||||||
|
|
|
@ -538,7 +538,7 @@ int stream_blob_to_fd(int fd, unsigned const char *sha1, struct stream_filter *f
|
||||||
goto close_and_exit;
|
goto close_and_exit;
|
||||||
}
|
}
|
||||||
if (kept && (lseek(fd, kept - 1, SEEK_CUR) == (off_t) -1 ||
|
if (kept && (lseek(fd, kept - 1, SEEK_CUR) == (off_t) -1 ||
|
||||||
write(fd, "", 1) != 1))
|
xwrite(fd, "", 1) != 1))
|
||||||
goto close_and_exit;
|
goto close_and_exit;
|
||||||
result = 0;
|
result = 0;
|
||||||
|
|
||||||
|
|
|
@ -1135,9 +1135,8 @@ static int udt_do_write(struct unidirectional_transfer *t)
|
||||||
return 0; /* Nothing to write. */
|
return 0; /* Nothing to write. */
|
||||||
|
|
||||||
transfer_debug("%s is writable", t->dest_name);
|
transfer_debug("%s is writable", t->dest_name);
|
||||||
bytes = write(t->dest, t->buf, t->bufuse);
|
bytes = xwrite(t->dest, t->buf, t->bufuse);
|
||||||
if (bytes < 0 && errno != EWOULDBLOCK && errno != EAGAIN &&
|
if (bytes < 0 && errno != EWOULDBLOCK) {
|
||||||
errno != EINTR) {
|
|
||||||
error("write(%s) failed: %s", t->dest_name, strerror(errno));
|
error("write(%s) failed: %s", t->dest_name, strerror(errno));
|
||||||
return -1;
|
return -1;
|
||||||
} else if (bytes > 0) {
|
} else if (bytes > 0) {
|
||||||
|
|
Loading…
Reference in New Issue