Fix file pointer management in FileStream. Fixes rejectedsoftware/vibe.d#1684.

This commit is contained in:
Sönke Ludwig 2017-02-16 23:37:14 +01:00
parent d07e9258d9
commit 68430a1ea4
No known key found for this signature in database
GPG key ID: D95E8DB493EE314C
2 changed files with 9 additions and 1 deletions

View file

@ -459,11 +459,12 @@ struct FileStream {
}
size_t read(ubyte[] dst, IOMode mode)
{
{
auto res = asyncAwait!(FileIOCallback,
cb => eventDriver.files.read(m_fd, ctx.ptr, dst, mode, cb),
cb => eventDriver.files.cancelRead(m_fd)
);
ctx.ptr += res[2];
enforce(res[1] == IOStatus.ok, "Failed to read data from disk.");
return res[2];
}