packet.rs - panic cleanup

This commit is contained in:
Jackson Sandland
2018-05-10 17:11:31 -07:00
parent d9f81b0c8c
commit c1496722aa

View File

@ -156,12 +156,12 @@ impl<T: Default> Clone for Recycler<T> {
impl<T: Default> Recycler<T> { impl<T: Default> Recycler<T> {
pub fn allocate(&self) -> Arc<RwLock<T>> { pub fn allocate(&self) -> Arc<RwLock<T>> {
let mut gc = self.gc.lock().expect("recycler lock"); let mut gc = self.gc.lock().expect("recycler lock in pb fn allocate");
gc.pop() gc.pop()
.unwrap_or_else(|| Arc::new(RwLock::new(Default::default()))) .unwrap_or_else(|| Arc::new(RwLock::new(Default::default())))
} }
pub fn recycle(&self, msgs: Arc<RwLock<T>>) { pub fn recycle(&self, msgs: Arc<RwLock<T>>) {
let mut gc = self.gc.lock().expect("recycler lock"); let mut gc = self.gc.lock().expect("recycler lock in pub fn recycle");
gc.push(msgs); gc.push(msgs);
} }
} }
@ -264,7 +264,7 @@ impl Blob {
for i in 0..NUM_BLOBS { for i in 0..NUM_BLOBS {
let r = re.allocate(); let r = re.allocate();
{ {
let mut p = r.write().unwrap(); let mut p = r.write().expect("'r' write lock in pub fn recv_from");
match socket.recv_from(&mut p.data) { match socket.recv_from(&mut p.data) {
Err(_) if i > 0 => { Err(_) if i > 0 => {
trace!("got {:?} messages", i); trace!("got {:?} messages", i);
@ -294,7 +294,7 @@ impl Blob {
) -> Result<()> { ) -> Result<()> {
while let Some(r) = v.pop_front() { while let Some(r) = v.pop_front() {
{ {
let p = r.read().unwrap(); let p = r.read().expect("'r' read lock in pub fn send_to");
let a = p.meta.addr(); let a = p.meta.addr();
socket.send_to(&p.data[..p.meta.size], &a)?; socket.send_to(&p.data[..p.meta.size], &a)?;
} }