summary refs log tree commit diff
path: root/src/rt/rustrt.def.in
AgeCommit message (Collapse)AuthorLines
2013-09-25rustdoc: Add sundown to src/rt/Alex Crichton-0/+6
This also starts compiling it in the same manner as linenoise, it's just bundled with librustrt directly, and we export just a few symbols out of it.
2013-09-23Remove the C(++) ISAAC Rng from the old rt.Huon Wilson-4/+0
This has to leave rust_gen_seed and rng_gen_seed around since they're used to initialise the std::rand RNGs.
2013-09-18auto merge of #9280 : alexcrichton/rust/less-c++, r=brsonbors-1/+0
Some of the functions could be converted to rust, but the functions dealing with signals were moved to rust_builtin.cpp instead (no reason to keep the original file around for one function). Closes #2674 Because less C++ is better C++!
2013-09-18Remove rust_run_program.cppAlex Crichton-1/+0
Some of the functions could be converted to rust, but the functions dealing with signals were moved to rust_builtin.cpp instead (no reason to keep the original file around for one function). Closes #2674
2013-09-18Implement process bindings to libuvAlex Crichton-0/+7
This is a re-landing of #8645, except that the bindings are *not* being used to power std::run just yet. Instead, this adds the bindings as standalone bindings inside the rt::io::process module. I made one major change from before, having to do with how pipes are created/bound. It's much clearer now when you can read/write to a pipe, as there's an explicit difference (different types) between an unbound and a bound pipe. The process configuration now takes unbound pipes (and consumes ownership of them), and will return corresponding pipe structures back if spawning is successful (otherwise everything is destroyed normally).
2013-09-16std: bind uv_fs_readdir(), flesh out DirectoryInfo and docs/cleanupJeff Olson-0/+2
2013-09-16std/rt: in-progress file io workJeff Olson-0/+5
std: remove unneeded field from RequestData struct std: rt::uv::file - map us_fs_stat & start refactoring calls into FsRequest std: stubbing out stat calls from the top-down into uvio std: us_fs_* operations are now by-val self methods on FsRequest std: post-rebase cleanup std: add uv_fs_mkdir|rmdir + tests & minor test cleanup in rt::uv::file WORKING: fleshing out FileStat and FileInfo + tests std: reverting test files.. refactoring back and cleanup...
2013-09-13Remove all usage of change_dir_lockedAlex Crichton-2/+0
While usage of change_dir_locked is synchronized against itself, it's not synchronized against other relative path usage, so I'm of the opinion that it just really doesn't help in running tests. In order to prevent the problems that have been cropping up, this completely removes the function. All existing tests (except one) using it have been moved to run-pass tests where they get their own process and don't need to be synchronized with anyone else. There is one now-ignored rustpkg test because when I moved it to a run-pass test apparently run-pass isn't set up to have 'extern mod rustc' (it ends up having linkage failures).
2013-09-12auto merge of #9087 : fhahn/rust/rust_crate_map, r=brsonbors-1/+0
This patch converts the rust_crate_map.cpp to Rust as mentioned at the end of #8880.
2013-09-13Convert rust_crate_map.cpp to RustFlorian Hahn-1/+0
Conflicts: src/libstd/rt/logging.rs
2013-09-12Add linenoise lock helpers to rustrt.def.in.Huon Wilson-0/+2
2013-09-06Upgrade libuv to the current master (again)Alex Crichton-1/+0
This is a reopening of the libuv-upgrade part of #8645. Hopefully this won't cause random segfaults all over the place. The windows regression in testing should also be fixed (it shouldn't build the whole compiler twice). A notable difference from before is that gyp is now a git submodule instead of always git-cloned at make time. This allows bundling for releases more easily. Closes #8850
2013-09-05std::rt: Add libuv bindings for getaddrinfoBrian Anderson-0/+1
2013-09-04Convert rust_log.cpp to Rust, closes #8703Florian Hahn-2/+2
2013-08-29Revert "auto merge of #8645 : alexcrichton/rust/issue-6436-run-non-blocking, ↵Brian Anderson-8/+2
r=brson" This reverts commit b8d1fa399402c71331aefd634d710004e00b73a6, reversing changes made to f22b4b169854c8a4ba86c16ee43327d6bcf94562. Conflicts: mk/rt.mk src/libuv
2013-08-27Implement process bindings to libuvAlex Crichton-0/+7
Closes #6436
2013-08-27Upgrade libuv to the current master + our patchesAlex Crichton-2/+1
There were two main differences with the old libuv and the master version: 1. The uv_last_error function is now gone. The error code returned by each function is the "last error" so now a UvError is just a wrapper around a c_int. 2. The repo no longer includes a makefile, and the build system has change. According to the build directions on joyent/libuv, this now downloads a `gyp` program into the `libuv/build` directory and builds using that. This shouldn't add any dependences on autotools or anything like that. Closes #8407 Closes #6567 Closes #6315
2013-08-24std: Convert the runtime TLS key to a Rust global to avoid FFIBrian Anderson-1/+0
2013-08-23rt: Remove old precise GC codeBrian Anderson-2/+0
2013-08-23rt: Move some test functions to rust_test_helpersBrian Anderson-4/+4
2013-08-23rt: Remove exit_status helpersBrian Anderson-2/+0
2013-08-22std: remove fcntl const bindings + making valgrind clean w/ no owned vecsJeff Olson-9/+0
2013-08-22std: add read and unlink to low-level FileDescriptor + end-to-end CRUD testJeff Olson-0/+2
2013-08-22std: working tests for low-level libuv open, write and close operationsJeff Olson-0/+5
2013-08-22std: bootstrapping libuv-based fileio in newrt... open & closeJeff Olson-0/+10
the test "touch"es a new file
2013-08-16rt: Remove unused uv helpersBrian Anderson-15/+0
2013-08-09Remove the C++ runtime. SayonaraBrian Anderson-56/+1
2013-07-31extra: Remove dbg module and rt support codeBrian Anderson-7/+0
This stuff is ancient, unused, and tied to oldsched
2013-07-31auto merge of #8145 : brson/rust/rttestfixes, r=pcwaltonbors-0/+1
Two commits here that fix test case dependencies on the old scheduler.
2013-07-30test: Use a test extern in various foreign fn testsBrian Anderson-0/+1
2013-07-30std: Remove ManualThreads spawn modeBrian Anderson-2/+0
2013-07-30std::rt: Change Thread interface to require an explicit joinBrian Anderson-1/+2
Makes it more obvious what's going on
2013-07-25libstd: Implement some missing udp methods.Luqman Aden-0/+1
2013-07-25libstd: Implement {peer, socket}_name for new rt tcp & udp.Luqman Aden-6/+3
2013-07-22std: Remove at_exit API. UnusedBrian Anderson-1/+0
2013-07-22std: Remove unstable::global. UnusedBrian Anderson-1/+0
2013-07-22std::rt: Stop using unstable::global in change_dir_lockedBrian Anderson-0/+2
2013-07-22std: Remove weak_task API. UnusedBrian Anderson-2/+0
2013-07-18auto merge of #7856 : brson/rust/no-thread-per-core, r=pcwaltonbors-1/+0
This doesn't make sense under the new scheduler.
2013-07-11auto merge of #7677 : alexcrichton/rust/tls-gc, r=pcwaltonbors-2/+1
cc #6004 and #3273 This is a rewrite of TLS to get towards not requiring `@` when using task local storage. Most of the rewrite is straightforward, although there are two caveats: 1. Changing `local_set` to not require `@` is blocked on #7673 2. The code in `local_pop` is some of the most unsafe code I've written. A second set of eyes should definitely scrutinize it... The public-facing interface currently hasn't changed, although it will have to change because `local_data::get` cannot return `Option<T>`, nor can it return `Option<&T>` (the lifetime isn't known). This will have to be changed to be given a closure which yield `&T` (or as an Option). I didn't do this part of the api rewrite in this pull request as I figured that it could wait until when `@` is fully removed. This also doesn't deal with the issue of using something other than functions as keys, but I'm looking into using static slices (as mentioned in the issues).
2013-07-09std: Remove ThreadPerCore spawn mode. UnusedBrian Anderson-1/+0
2013-07-09Use purely an owned vector for storing TLS dataAlex Crichton-1/+0
2013-07-09std: Make os::set_exit_status work with newschedBrian Anderson-0/+2
2013-07-08Merge remote-tracking branch 'upstream/io' into ioEric Reed-3/+2
Conflicts: src/libstd/rt/uvio.rs
2013-07-03Merge remote-tracking branch 'mozilla/master'Brian Anderson-4/+3
Conflicts: src/libextra/test.rs src/libstd/at_vec.rs src/libstd/cleanup.rs src/libstd/rt/comm.rs src/libstd/rt/global_heap.rs src/libstd/task/spawn.rs src/libstd/unstable/lang.rs src/libstd/vec.rs src/rt/rustrt.def.in src/test/run-pass/extern-pub.rs
2013-07-02Merge remote-tracking branch 'upstream/io' into ioEric Reed-0/+2
Conflicts: src/libstd/rt/test.rs src/rt/rustrt.def.in
2013-07-02IPv6 support for UDP and TCP.Eric Reed-0/+15
2013-07-01rt: Add global_args_lock functions to rustrt.def.inBrian Anderson-1/+3
2013-06-30vec: implement exchange vector reserve in RustDaniel Micay-1/+0
2013-06-30simplify the exchange allocatorDaniel Micay-1/+0
* stop using an atomic counter, this has a significant cost and valgrind will already catch these leaks * remove the extra layer of function calls * remove the assert of non-null in free, freeing null is well defined but throwing a failure from free will not be * stop initializing the `prev`/`next` pointers * abort on out-of-memory, failing won't necessarily work