wip fixes to sendfile() blocking

This commit is contained in:
Jarred Sumner
2022-04-12 00:43:23 -07:00
parent a0f9a6ed60
commit 9db701ab41
7 changed files with 185 additions and 84 deletions

View File

@@ -635,12 +635,8 @@ pub const VirtualMachine = struct {
this.tasks.ensureUnusedCapacity(add) catch unreachable;
{
var writable = std.mem.sliceAsBytes(this.tasks.writableSlice(0));
const readable = std.mem.sliceAsBytes(this.concurrent_tasks.readableSlice(0));
@memcpy(writable.ptr, readable.ptr, @minimum(writable.len, readable.len));
this.tasks.count += add;
this.concurrent_tasks.head = 0;
this.concurrent_tasks.count = 0;
this.tasks.writeAssumeCapacity(this.concurrent_tasks.readableSlice(0));
this.concurrent_tasks.discard(this.concurrent_tasks.count);
}
_ = this.pending_tasks_count.fetchAdd(add, .Monotonic);