rust/src/libstd
Colin Walters 44a5bf1b7d libstd/env: Add non-Rust synchronization warnings for setenv()
See:
https://sourceware.org/bugzilla/show_bug.cgi?id=4887#c9
https://bugs.freedesktop.org/show_bug.cgi?id=65681

I just noticed this while talking to someone who was using
`os.environ['FOO'] = 'BAR'` in Python and since I'm learning Rust, I
was curious if it did anything special here.  It looks like Rust has
an internal mutex, which helps for apps that are pure Rust, but it
will be an evil trap for someone later adding in native code (apps
like Servo and games will be at risk).

Java got this right by disallowing `setenv()` from the start.

I suggest Rust program authors only use `setenv()` early in main.
2015-05-13 21:14:15 -04:00
..
collections Rollup merge of #25240 - bluss:doc-hashmap-entry, r=steveklabnik 2015-05-10 16:44:23 -04:00
ffi std: Remove deprecated AsOsStr/Str/AsSlice traits 2015-04-21 11:37:34 -07:00
io Update docs to stop referencing BufReadExt 2015-05-10 16:32:18 -04:00
net Rollup merge of #25216 - barosl:no-more-task, r=Manishearth 2015-05-09 18:40:19 +05:30
num std: Don't use a wrapper for the float error type 2015-05-01 16:44:36 -07:00
os Rollup merge of #25140 - kevinmehall:mips, r=steveklabnik 2015-05-09 00:37:42 +05:30
prelude Rollup merge of #25224 - brson:stddoc, r=steveklabnik 2015-05-13 00:52:48 -04:00
rand Squeeze the last bits of tasks in documentation in favor of thread 2015-05-09 02:24:18 +09:00
rt Convert #[lang="..."] to #[lang = "..."] 2015-05-09 14:50:28 -05:00
sync Rebasing 2015-05-13 14:35:53 +12:00
sys Rollup merge of #25216 - barosl:no-more-task, r=Manishearth 2015-05-09 18:40:19 +05:30
thread docs: Link from tls macros to relevant docs 2015-05-11 03:41:54 +02:00
time std: Remove deprecated/unstable num functionality 2015-04-21 11:37:43 -07:00
array.rs rustdoc: Support for "array" primitive 2015-03-23 14:02:34 -07:00
ascii.rs Model lexer: Fix remaining issues 2015-04-21 12:02:12 +02:00
bool.rs Strip all leading/trailing newlines 2015-03-15 09:08:21 -07:00
dynamic_lib.rs std: Prepare for linking to musl 2015-04-27 10:11:15 -07:00
env.rs libstd/env: Add non-Rust synchronization warnings for setenv() 2015-05-13 21:14:15 -04:00
error.rs std: Don't use a wrapper for the float error type 2015-05-01 16:44:36 -07:00
fs.rs std: Rename sys::foo2 modules to sys::foo 2015-05-07 09:30:00 -07:00
lib.rs doc: Address feedback 2015-05-12 10:53:57 -07:00
macros.rs Squeeze the last bits of tasks in documentation in favor of thread 2015-05-09 02:24:18 +09:00
panicking.rs std: Don't assume thread::current() works on panic 2015-04-27 16:15:36 -07:00
path.rs Rollup merge of #25278 - cpjreynolds:path-doc, r=alexcrichton 2015-05-11 23:24:18 -04:00
process.rs std: Rename sys::foo2 modules to sys::foo 2015-05-07 09:30:00 -07:00
rtdeps.rs std: Prepare for linking to musl 2015-04-27 10:11:15 -07:00
thunk.rs Remove Thunk struct and Invoke trait; change Thunk to be an alias 2015-04-01 14:41:21 -04:00
tuple.rs Remove doc-comment default::Default imports 2015-04-22 09:42:36 -04:00
unit.rs grandfathered -> rust1 2015-01-23 21:48:20 -08:00