| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2012-06-03 | rt: Add a FIXME about #2495 | Brian Anderson | -0/+1 | |
| 2012-06-03 | Show ellipsis sign when log line is truncated | Arkaitz Jimenez | -1/+7 | |
| 2012-06-02 | rt: Improve docs for main, kernel, scheduler, and task | Brian Anderson | -37/+120 | |
| 2012-05-31 | rt: Refactor task failure to go through rust_task_fail | Brian Anderson | -3/+45 | |
| This is the place to but a breakpoint. We will raise SIGINT here to break into the debugger. | ||||
| 2012-05-30 | rt: Don't zero the unique box header | Brian Anderson | -1/+3 | |
| 2012-05-30 | rt: Remove upcall_shared_malloc/free/realloc | Brian Anderson | -86/+3 | |
| 2012-05-30 | rt: Fix build errors on win | Brian Anderson | -3/+3 | |
| 2012-05-30 | rt: Fix vec_from_buf_shared for new vecs | Brian Anderson | -5/+6 | |
| 2012-05-30 | rt: Fix rust_list_files for new vecs | Brian Anderson | -5/+5 | |
| 2012-05-30 | Various changes for self-describing vecs | Brian Anderson | -59/+68 | |
| 2012-05-30 | rt: Add yet another allocating upcall | Brian Anderson | -14/+44 | |
| upcall_exchange_malloc_dyn, for allocating unique boxes for types that don't have a fixed size. | ||||
| 2012-05-30 | rustc: Make unique boxes self-describing | Brian Anderson | -6/+26 | |
| 2012-05-30 | rt: Add upcall_exchange_malloc/free | Brian Anderson | -1/+58 | |
| 2012-05-23 | A shareable atomically reference counted pointer wrapper. | Eric Holk | -0/+12 | |
| Needs more tests to ensure safety, and probably some more work on usability too. | ||||
| 2012-05-22 | std: splitting out tcp server API + tests | Jeff Olson | -2/+2 | |
| - we now have two interfaces for the TCP/IP server/listener workflow, based on different user approaches surrounding how to deal with the flow of accept a new tcp connection: 1. the "original" API closely mimics the low-level libuv API, in that we have an on_connect_cb that the user provides *that is ran on the libuv thread*. In this callback, the user can accept() a connection, turning it into a tcp_socket.. of course, before accepting, they have the option of passing it to a new task, provided they *make the cb block until the accept is done* .. this is because, in libuv, you have to do the uv_accept call in the span of that on_connect_cb callback that gets fired when a new connection comes in. thems the breaks.. I wanted to just get rid of this API, because the general proposition of users always running code on the libuv thread sounds like an invitation for many future headaches. the API restriction to have to choose to immediately accept a connection (and allow the user to block libuv as needed) isn't too bad for power users who could conceive of circumstances where they would drop an incoming TCP connection and know what they're doing, in general. but as a general API, I thought this was a bit cumbersome, so I ended up devising.. 2. an API that is initiated with a call to `net::tcp::new_listener()` .. has a similar signature to `net::tcp::listen()`, except that is just returns an object that sort of behaves like a `comm::port`. Users can block on the `tcp_conn_port` to receive new connections, either in the current task or in a new task, depending on which API route they take (`net::tcp::conn_recv` or `net::tcp::conn_recv_spawn` respectively).. there is also a `net::tcp::conn_peek` function that will do a peek on the underlying port to see if there are pending connections. The main difference, with this API, is that the low-level libuv glue is going to *accept every connection attempt*, along with the overhead that that brings. But, this is a much more hassle-free API for 95% of use cases and will probably be the one that most users will want to reach for. | ||||
| 2012-05-22 | std: splitting out tcp server API WIP | Jeff Olson | -2/+2 | |
| 2012-05-22 | rt: adding rust_uv_* binding for kernel malloc and free'ing :/ | Jeff Olson | -0/+12 | |
| I need these in the context of doing various malloc/free operations for libuv structs that need to live in the heap, because of API workflow (there's no stack to put them in). This has cropped up several times when impl'ing the high-level API for things like timers, but I've decided to take the plunge and use this approach for the net::tcp module. Technically, this can be avoided by spawning a new task that contains the needed memory structures on its stack and then having it block for the duration of the time we need that memory to be valid (this is what I did in std::timer). Exposing this API provides a much lower overhead way to address the issue, albeit with safety concerns. The main mitigation policy should be to use malloc/free with libuv handles only when the handles, are then associated with a resource or class-with-dtor. So we have a finite lifetime for the object and can gaurantee a free(), barring a runtime crash (in which case you have bigger problems!) | ||||
| 2012-05-21 | rt: Fix def of isaac_seed on windows | Brian Anderson | -3/+3 | |
| 2012-05-21 | add a seeded random number generator so that sequences of random numbers can ↵ | Gareth Daniel Smith | -43/+77 | |
| be easily reproduced (for https://github.com/mozilla/rust/issues/2379) | ||||
| 2012-05-19 | expose tzset | Erick Tryzelaar | -1/+6 | |
| 2012-05-18 | add a new debugging aid--tracing | Niko Matsakis | -0/+23 | |
| 2012-05-15 | rt: Make task killing synchronization possibly more correct | Brian Anderson | -4/+12 | |
| I could not come up with a test but this looks better to me. | ||||
| 2012-05-15 | core: Add task::unkillable | Brian Anderson | -1/+30 | |
| 2012-05-15 | get preservation of boxes working, at least in simple cases | Niko Matsakis | -1/+0 | |
| 2012-05-15 | make poison-on-free work, disable copying if borrowck is enabled | Niko Matsakis | -5/+14 | |
| 2012-05-07 | rt: Start tasks, ports and scheds at 1, assert when we see 0. Closes #2321 | Brian Anderson | -3/+5 | |
| 2012-05-03 | core: Add comm::recv_chan to receive from a channel | Brian Anderson | -0/+21 | |
| 2012-05-03 | More shape fixes for evecs. | Graydon Hoare | -27/+30 | |
| 2012-05-03 | Implement better shape code for evec, estr. | Graydon Hoare | -10/+249 | |
| 2012-05-02 | rt: Fix some record alignment issues on windows | Brian Anderson | -0/+2 | |
| 2012-05-02 | Revert "rt: Fix some record alignment issues on windows" | Brian Anderson | -2/+0 | |
| This reverts commit a2457f5864092161a7224c667c4a2e8b60f06d4a. | ||||
| 2012-05-02 | rt: Fix some record alignment issues on windows | Brian Anderson | -0/+2 | |
| 2012-05-02 | Remove unused sp_size arg passed through walk_vec{1,2} in shape code. | Graydon Hoare | -10/+10 | |
| 2012-05-02 | Make rust_shape.h agree with shape.rs about meaning of shape code #31. | Graydon Hoare | -1/+1 | |
| 2012-04-30 | core: Serialize all access to the environment using a weak global task | Brian Anderson | -4/+14 | |
| 2012-04-27 | rt/std: whitespace cleanup + work on hl/global_loop docs | Jeff Olson | -1/+1 | |
| 2012-04-27 | rt: remove unneccesary c++ functions and rust_kernel data, re: global loop | Jeff Olson | -18/+0 | |
| 2012-04-27 | std: add ll::loop_refcount binding for uv_loop_refcount | Jeff Olson | -0/+6 | |
| 2012-04-26 | rt: Fix shape alignment of 64-bit ints on x86. Issue #2303 | Brian Anderson | -0/+12 | |
| 2012-04-20 | whitespace cleanup | Jeff Olson | -1/+1 | |
| 2012-04-20 | std: get_monitor_task_gl() is global_loop::get() default | Jeff Olson | -0/+6 | |
| 2012-04-20 | adding missing binding to rustrt.def.in | Jeff Olson | -0/+1 | |
| 2012-04-20 | replace impl of globa_async_handle with one using atomic compare-and-swap | Jeff Olson | -15/+7 | |
| 2012-04-20 | remove rustrt.def.in entry for no-longer-existent c++ function | Jeff Olson | -1/+0 | |
| 2012-04-20 | don't use ::malloc for initializing the global_async_handle in rust_kernel | Jeff Olson | -6/+4 | |
| 2012-04-20 | clean and trying the global loop test as two separate loop lifetimes.. | Jeff Olson | -2/+2 | |
| .. seeing an occasional valgrind/barf spew on some invalid read/writes.. need to investigate further.. i think its related to my poor citizen conduct, re: pointers stashed in rust_kernel.. | ||||
| 2012-04-20 | rt: whitespace cleanup for existing libuv integration | Jeff Olson | -16/+16 | |
| 2012-04-20 | bindings to get/set data field on uv_loop_t* and debug log cleanup | Jeff Olson | -11/+25 | |
| 2012-04-20 | add needed fields for global libuv loop + bindings to manage from rust | Jeff Olson | -0/+41 | |
| adding two pointers fields to rust_kernel :( .. have to do manual malloc/free for one of the fields, which feels wrong | ||||
| 2012-04-20 | adding low-level uv_timer_* stuff to libuv bindings | Jeff Olson | -4/+21 | |
