about summary refs log tree commit diff
path: root/src/libstd/old_io/net/udp.rs
diff options
context:
space:
mode:
authorAaron Turon <aturon@mozilla.com>2015-02-17 01:08:53 -0800
committerAaron Turon <aturon@mozilla.com>2015-02-17 14:33:29 -0800
commitd8f8f7a58c7c8b3352c1c577347865f5a823fee3 (patch)
treeefd8e56d2dd11d926862d357feae6f14f8161f14 /src/libstd/old_io/net/udp.rs
parente4e7aa28566d062514a7a1f5534d76b9d82f524a (diff)
downloadrust-d8f8f7a58c7c8b3352c1c577347865f5a823fee3.tar.gz
rust-d8f8f7a58c7c8b3352c1c577347865f5a823fee3.zip
Revise std::thread semantics
This commit makes several changes to `std::thread` in preparation for
final stabilization:

* It removes the ability to handle panics from `scoped` children; see
  #20807 for discussion

* It adds a `JoinHandle` structure, now returned from `spawn`, which
  makes it possible to join on children that do not share data from
  their parent's stack. The child is automatically detached when the
  handle is dropped, and the handle cannot be copied due to Posix
  semantics.

* It moves all static methods from `std::thread::Thread` to free
  functions in `std::thread`. This was done in part because, due to the
  above changes, there are effectively no direct `Thread` constructors,
  and the static methods have tended to feel a bit awkward.

* Adds an `io::Result` around the `Builder` methods `scoped` and
  `spawn`, making it possible to handle OS errors when creating
  threads. The convenience free functions entail an unwrap.

* Stabilizes the entire module. Despite the fact that the API is
  changing somewhat here, this is part of a long period of baking and
  the changes are addressing all known issues prior to alpha2. If
  absolutely necessary, further breaking changes can be made prior to beta.

Closes #20807

[breaking-change]
Diffstat (limited to 'src/libstd/old_io/net/udp.rs')
0 files changed, 0 insertions, 0 deletions