diff options
| author | Alex Crichton <alex@alexcrichton.com> | 2017-08-26 19:36:46 -0700 |
|---|---|---|
| committer | Alex Crichton <alex@alexcrichton.com> | 2017-08-26 19:36:46 -0700 |
| commit | dc7c7ba0c9f401f5597a245e05ee9e8d760715d3 (patch) | |
| tree | 3368e960243d97ec04df19b3b7e51653913baaac /src/libstd/sys/unix | |
| parent | 398aaffc94367ed59420f5ac0b0238c04c9e4fa5 (diff) | |
| download | rust-dc7c7ba0c9f401f5597a245e05ee9e8d760715d3.tar.gz rust-dc7c7ba0c9f401f5597a245e05ee9e8d760715d3.zip | |
std: Handle OS errors when joining threads
Also add to the documentation that the `join` method can panic. cc #34971 cc #43539
Diffstat (limited to 'src/libstd/sys/unix')
| -rw-r--r-- | src/libstd/sys/unix/thread.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libstd/sys/unix/thread.rs b/src/libstd/sys/unix/thread.rs index 15747746611..40f1d6a6db1 100644 --- a/src/libstd/sys/unix/thread.rs +++ b/src/libstd/sys/unix/thread.rs @@ -168,7 +168,8 @@ impl Thread { unsafe { let ret = libc::pthread_join(self.id, ptr::null_mut()); mem::forget(self); - debug_assert_eq!(ret, 0); + assert!(ret == 0, + "failed to join thread: {}", io::Error::from_raw_os_error(ret)); } } |
