diff options
| author | Brian Anderson <banderson@mozilla.com> | 2013-06-21 01:28:23 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2013-06-21 14:42:15 -0700 |
| commit | 1b7c99655f300aa0b8ba216cd2029dc588c3ef88 (patch) | |
| tree | 429f83fc36d55be380d74903d409bf7f3ba4d419 /src/rt | |
| parent | 7a9a6e45911636eae3ec4e1c111bc0e120601a5a (diff) | |
| download | rust-1b7c99655f300aa0b8ba216cd2029dc588c3ef88.tar.gz rust-1b7c99655f300aa0b8ba216cd2029dc588c3ef88.zip | |
std::rt: Support os::args
Diffstat (limited to 'src/rt')
| -rw-r--r-- | src/rt/rust_builtin.cpp | 18 | ||||
| -rw-r--r-- | src/rt/rustrt.def.in | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/rt/rust_builtin.cpp b/src/rt/rust_builtin.cpp index 8e494cb577b..86b8881b9f2 100644 --- a/src/rt/rust_builtin.cpp +++ b/src/rt/rust_builtin.cpp @@ -932,6 +932,24 @@ rust_get_num_cpus() { return get_num_cpus(); } +static lock_and_signal global_args_lock; +static uintptr_t global_args_ptr = 0; + +extern "C" CDECL void +rust_take_global_args_lock() { + global_args_lock.lock(); +} + +extern "C" CDECL void +rust_drop_global_args_lock() { + global_args_lock.unlock(); +} + +extern "C" CDECL uintptr_t* +rust_get_global_args_ptr() { + return &global_args_ptr; +} + // // Local Variables: // mode: C++ diff --git a/src/rt/rustrt.def.in b/src/rt/rustrt.def.in index 425f17d4290..ca813c5d3ae 100644 --- a/src/rt/rustrt.def.in +++ b/src/rt/rustrt.def.in @@ -242,3 +242,4 @@ rust_drop_env_lock rust_update_log_settings rust_running_on_valgrind rust_get_num_cpus +rust_get_global_args_ptr \ No newline at end of file |
