summaryrefslogtreecommitdiff
path: root/core/shared_queue.rs
diff options
context:
space:
mode:
authorRyan Dahl <ry@tinyclouds.org>2020-01-23 20:22:05 -0500
committerGitHub <noreply@github.com>2020-01-23 20:22:05 -0500
commit9f1e4237a590f79fbb7748d9bfaea4a701f8f4f8 (patch)
tree2414fcc3546992edc9ac32707d0133bcb44f64b1 /core/shared_queue.rs
parent74e6eb14dd4697ba8bf52e044af0e7dfef49e441 (diff)
Upgrade rusty_v8 to 0.2.0 (#3764)
Diffstat (limited to 'core/shared_queue.rs')
-rw-r--r--core/shared_queue.rs14
1 files changed, 5 insertions, 9 deletions
diff --git a/core/shared_queue.rs b/core/shared_queue.rs
index cd1856813..0d2fc15c3 100644
--- a/core/shared_queue.rs
+++ b/core/shared_queue.rs
@@ -45,7 +45,9 @@ impl SharedQueue {
let buf = buf.into_boxed_slice();
let buf =
unsafe { v8::SharedArrayBuffer::new_backing_store_from_boxed_slice(buf) };
- let mut q = Self { buf };
+ let mut q = Self {
+ buf: buf.make_shared(),
+ };
q.reset();
q
}
@@ -55,17 +57,11 @@ impl SharedQueue {
}
pub fn bytes(&self) -> &[u8] {
- unsafe {
- // This is quite bad. The rusty_v8 issue that makes it necessitates it
- // just barely missed the rusty_v8 v0.1.1 release cutoff.
- #[allow(clippy::cast_ref_to_mut)]
- let self_mut = &mut *(self as *const _ as *mut Self);
- self_mut.bytes_mut()
- }
+ unsafe { &*self.buf.get() }
}
pub fn bytes_mut(&mut self) -> &mut [u8] {
- self.buf.data_bytes()
+ unsafe { &mut *self.buf.get() }
}
fn reset(&mut self) {