<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libstd/sys/windows/condvar.rs, branch 1.30.1</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.30.1</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.30.1'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2016-07-31T10:47:52+00:00</updated>
<entry>
<title>Use monotonic time with condition variables.</title>
<updated>2016-07-31T10:47:52+00:00</updated>
<author>
<name>Tomasz Miąsko</name>
<email>tomasz.miasko@gmail.com</email>
</author>
<published>2016-07-26T13:18:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8ec47261e193b1f983b898a0d985b85e7fcb0668'/>
<id>urn:sha1:8ec47261e193b1f983b898a0d985b85e7fcb0668</id>
<content type='text'>
Configure condition variables to use monotonic time using
pthread_condattr_setclock on systems where this is possible.
This fixes the issue when thread waiting on condition variable is
woken up too late when system time is moved backwards.
</content>
</entry>
<entry>
<title>std: Migrate to the new libc</title>
<updated>2015-11-10T06:55:50+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-11-03T00:23:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3d28b8b98e6e4f55ef4ecd8babf0a050f48a3d11'/>
<id>urn:sha1:3d28b8b98e6e4f55ef4ecd8babf0a050f48a3d11</id>
<content type='text'>
* Delete `sys::unix::{c, sync}` as these are now all folded into libc itself
* Update all references to use `libc` as a result.
* Update all references to the new flat namespace.
* Moves all windows bindings into sys::c
</content>
</entry>
<entry>
<title>Register new snapshots</title>
<updated>2015-08-11T22:11:13+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-08-11T21:31:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=938099a7ebccbad2a2cad58d71df316d5ccd512c'/>
<id>urn:sha1:938099a7ebccbad2a2cad58d71df316d5ccd512c</id>
<content type='text'>
* Lots of core prelude imports removed
* Makefile support for MSVC env vars and Rust crates removed
* Makefile support for morestack removed
</content>
</entry>
<entry>
<title>syntax: Implement #![no_core]</title>
<updated>2015-08-04T00:23:01+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-07-30T00:01:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5cccf3cd256420d9f32c265e83036dea1d5f94d8'/>
<id>urn:sha1:5cccf3cd256420d9f32c265e83036dea1d5f94d8</id>
<content type='text'>
This commit is an implementation of [RFC 1184][rfc] which tweaks the behavior of
the `#![no_std]` attribute and adds a new `#![no_core]` attribute. The
`#![no_std]` attribute now injects `extern crate core` at the top of the crate
as well as the libcore prelude into all modules (in the same manner as the
standard library's prelude). The `#![no_core]` attribute disables both std and
core injection.

[rfc]: https://github.com/rust-lang/rfcs/pull/1184
</content>
</entry>
<entry>
<title>std: Fix Windows XP compatibility</title>
<updated>2015-06-28T02:45:24+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-06-26T16:30:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=10b103af48368c5df644fa61dc417a36083922c8'/>
<id>urn:sha1:10b103af48368c5df644fa61dc417a36083922c8</id>
<content type='text'>
This commit enables executables linked against the standard library to run on
Windows XP. There are two main components of this commit:

* APIs not available on XP are shimmed to have a fallback implementation and use
  runtime detection to determine if they are available.
* Mutexes on Windows were reimplemented to use critical sections on XP where
  rwlocks are not available.

The APIs which are not available on XP are:

* SetFileInformationByHandle - this is just used by `File::truncate` and that
  function just returns an error now.
* SetThreadStackGuarantee - this is used by the stack overflow support on
  windows, but if this isn't available then it's just ignored (it seems
  non-critical).
* All condition variable APIs are missing - the shims added for these apis
  simply always panic for now. We may eventually provide a fallback
  implementation, but for now the standard library does not rely on condition
  variables for normal use.
* RWLocks, like condition variables, are missing entirely. The same story for
  condition variables is taken here. These APIs are all now panicking stubs as
  the standard library doesn't rely on RWLocks for normal use.

Currently, as an optimization, we use SRWLOCKs for the standard `sync::Mutex`
implementation on Windows, which is indeed required for normal operation of the
standard library. To allow the standard library to run on XP, this commit
reimplements mutexes on Windows to use SRWLOCK instances *if available* and
otherwise a CriticalSection is used (with some checking for recursive
locking).

With all these changes put together, a 32-bit MSVC-built executable can run on
Windows XP and print "hello world"

Closes #12842
Closes #19992
Closes #24776
</content>
</entry>
<entry>
<title>Use `const fn` to abstract away the contents of UnsafeCell &amp; friends.</title>
<updated>2015-05-27T08:19:03+00:00</updated>
<author>
<name>Eduard Burtescu</name>
<email>edy.burt@gmail.com</email>
</author>
<published>2015-05-27T08:18:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=377b0900aede976b2d37a499bbd7b62c2e39b358'/>
<id>urn:sha1:377b0900aede976b2d37a499bbd7b62c2e39b358</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Redesign Duration, implementing RFC 1040</title>
<updated>2015-05-14T00:50:58+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-04-28T18:40:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=556e76bb78cdd1d951e3966b2264ef8567371881'/>
<id>urn:sha1:556e76bb78cdd1d951e3966b2264ef8567371881</id>
<content type='text'>
This commit is an implementation of [RFC 1040][rfc] which is a redesign of the
currently-unstable `Duration` type. The API of the type has been scaled back to
be more conservative and it also no longer supports negative durations.

[rfc]: https://github.com/rust-lang/rfcs/blob/master/text/1040-duration-reform.md

The inner `duration` module of the `time` module has now been hidden (as
`Duration` is reexported) and the feature name for this type has changed from
`std_misc` to `duration`. All APIs accepting durations have also been audited to
take a more flavorful feature name instead of `std_misc`.

Closes #24874
</content>
</entry>
<entry>
<title>Fallout of std::old_io deprecation</title>
<updated>2015-03-13T17:00:28+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-03-11T22:24:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=981bf5f690d1d7c5cf3e1419ac7a7c86dbc7a4d5'/>
<id>urn:sha1:981bf5f690d1d7c5cf3e1419ac7a7c86dbc7a4d5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>std: Tidy up some `unsafe impl`s for `sync`</title>
<updated>2015-02-20T20:01:08+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2015-02-20T20:00:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=64fe93e49dc0c6a552c5f08507064f2ce12800ca'/>
<id>urn:sha1:64fe93e49dc0c6a552c5f08507064f2ce12800ca</id>
<content type='text'>
This commit removes many unnecessary `unsafe impl` blocks as well as pushing the
needed implementations to the lowest level possible. I noticed that the bounds
for `RwLock` are a little off when reviewing #22574 and wanted to ensure that we
had our story straight on these implementations.
</content>
</entry>
<entry>
<title>Change Mutex to use SRWLock on Windows.</title>
<updated>2015-01-13T02:35:39+00:00</updated>
<author>
<name>Peter Atashian</name>
<email>retep998@gmail.com</email>
</author>
<published>2015-01-12T22:50:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ee1ca88213133a58f0a9d234f03babbebeb7c5d8'/>
<id>urn:sha1:ee1ca88213133a58f0a9d234f03babbebeb7c5d8</id>
<content type='text'>
Signed-off-by: Peter Atashian &lt;retep998@gmail.com&gt;
</content>
</entry>
</feed>
