Roy Frostig
|
f307688bf4
|
Add native vec[u8] to str converter. Put in workaround for leak in str to vec[u8] converter. Add testcase exercising both. Drive-by fix a potential array-out-of-bounds write on rust_str buffers.
|
2010-08-11 16:06:45 -07:00 |
|
Graydon Hoare
|
dbe8760af3
|
Merge commit 'jyasskin/work'
Conflicts:
src/rt/rust_dom.cpp
src/rt/rust_upcall.cpp
|
2010-08-10 13:26:00 -07:00 |
|
Michael Bebenita
|
97d6342bf0
|
Synthesize a flush_chan upcall right before a channel's ref_count drops to zero. This should only happen in the Rust code and not in the drop glue, or on the unwind path. This change allows the task owning the channel to block on a flush and delete its own channel. This change also cleans up some code around rust_port and rust_chan.
|
2010-08-09 08:15:34 -07:00 |
|
Michael Bebenita
|
5917ca3519
|
Fixed deadlock in the scheduler caused by condition variables.
|
2010-08-09 08:06:08 -07:00 |
|
Michael Bebenita
|
4641fcef61
|
Added peek() to ptr_vec.
|
2010-08-09 08:01:40 -07:00 |
|
Michael Bebenita
|
f65c885c83
|
Made ref_count signed to help detect negative ref_count bugs.
|
2010-08-09 08:00:04 -07:00 |
|
Michael Bebenita
|
30734a9a7b
|
Some pretty printing in the runtime.
|
2010-08-09 07:52:07 -07:00 |
|
Michael Bebenita
|
9ff6a3d031
|
Added class to abstract away platform specific thread primitives.
|
2010-08-09 07:42:06 -07:00 |
|
Michael Bebenita
|
56cd4e458a
|
Made the runtime keep track of all live domains and print their state.
|
2010-08-09 07:34:11 -07:00 |
|
Michael Bebenita
|
c5744c8aef
|
Added the RUST_SEED env variable to seed the Rust task scheduler -- helpful when debugging task race conditions within a single thread domain.
|
2010-08-09 07:30:48 -07:00 |
|
Michael Bebenita
|
0e422c748b
|
Added "none" option to rust_log env string to disable all log output.
|
2010-08-09 07:07:00 -07:00 |
|
Michael Bebenita
|
d2c2fbe7ca
|
Added timed_wait to condition variables.
|
2010-08-09 07:04:38 -07:00 |
|
Michael Bebenita
|
76ba8f1d84
|
Changed array_list::replace() return behavior.
|
2010-08-09 06:59:46 -07:00 |
|
Jeffrey Yasskin
|
b71340552f
|
Add names to tasks and domains. These can either be an explicit literal string
after the "spawn" keyword, or implicitly the call expression used to start the
spawn.
|
2010-08-09 11:43:16 +02:00 |
|
Jeffrey Yasskin
|
3f6e8ffe64
|
Implement _str.len() to return the number of bytes, rename it to byte_len(),
and add a test.
|
2010-08-06 17:29:21 -07:00 |
|
Roy Frostig
|
1a8d609e89
|
Add a buffered writer to stdlib _io module.
|
2010-08-04 12:59:48 -07:00 |
|
Graydon Hoare
|
0b9c882d66
|
Log join-wait count under rust_log::TASK bits, not ::ALL.
|
2010-07-29 10:41:22 -07:00 |
|
Michael Bebenita
|
fa70212c86
|
Log dead tasks when dom is just waiting for refcounts to drop.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
a5b7a5202c
|
Note that we keep running the main loop until all task refcounts are zero.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
4246d567b7
|
Move ports out into their own file, add data_message and make communication system use it (and proxies) instead of existing token scheme.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
4ff8e15128
|
Move notification-messages out into their own file and unify into notify_message, make them use proxies, cache task proxies in dom.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
defd8a66ea
|
Rename rust_proxy_delegate to maybe_proxy, flesh out logic in it. Add strong-ref distinction on rust_proxy.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
30b3f8a117
|
Add rust_dom::log_state, for logging the running/blocked/dead vectors per scheduling iteration.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
5db5eb0c55
|
Null rust_task::cond on wakeup, add asserts and logging to block/wakeup.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
e327aa5093
|
Teach task_owned and dom_owned to find their dom via consistent interface.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
9fe4b0d404
|
Add modeline / file-local emacs var blocks.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
6c0ce25dbf
|
Move rust_cond.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
06b52b70db
|
Fix typos in comments, delete obsolete comments and dead commented code.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
cc4906ba79
|
Wrap long lines.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
436efdcb4f
|
Add C++ wrapper around uthash.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
dbcc9b36b1
|
Let circular buffers actually grow to max sz, reset _next when resizing.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
c1795a1046
|
Change unread-on-destroy condition for circular buffer to merely a warning.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
c5e0ea7276
|
Add comment explaining NULL case in circular_buffer::enqueue and add logging to ::dequeue.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
d6cba83322
|
Add peek method to circular buffer.
|
2010-07-28 20:30:29 -07:00 |
|
Michael Bebenita
|
17fa6bfd9a
|
Change _unit_sz to unit_sz and make public in circular_buffer.
|
2010-07-28 20:30:28 -07:00 |
|
Michael Bebenita
|
60b0486c11
|
Make circular buffer use only power-of-two sizes, cheaper arithmetic.
|
2010-07-28 20:30:28 -07:00 |
|
Michael Bebenita
|
d786469785
|
Add a warning interface to rust_srv.
|
2010-07-28 20:30:28 -07:00 |
|
Michael Bebenita
|
6afb6c767e
|
Move allocation-tracking into rust_srv.
|
2010-07-28 20:30:28 -07:00 |
|
Michael Bebenita
|
712249d6b8
|
Log a separator when logging switches between threads.
|
2010-07-28 20:30:28 -07:00 |
|
Michael Bebenita
|
7ead107290
|
array_list improvements.
|
2010-07-28 20:30:28 -07:00 |
|
Roy Frostig
|
a9ad2e98e3
|
Refer to issue #136 at the offending source point.
|
2010-07-28 14:11:56 -07:00 |
|
Roy Frostig
|
596d19e2ea
|
Test the deque a bit. Give it a get-by-index method. Fix two uncovered state-calculation bugs --- one decently, the other with an ugly hack. Bug on the latter coming right up.
|
2010-07-28 14:00:44 -07:00 |
|
Roy Frostig
|
085cd2ee7d
|
vec_alloc takes four arguments these days, not three.
|
2010-07-25 22:21:07 -07:00 |
|
Roy Frostig
|
beca62e2e3
|
Attempt 2. This time actually reading my own diffs before committing.
|
2010-07-25 22:07:21 -07:00 |
|
Roy Frostig
|
b9f82d85f9
|
Attempt number 1 at extinguishing the windows tree remotely (apologies to those hacking on Sunday evening PST).
|
2010-07-25 22:05:39 -07:00 |
|
Roy Frostig
|
5b6e714d05
|
Expose an RNG (the one used by our runtime) to Rust via std.
|
2010-07-25 21:45:09 -07:00 |
|
Roy Frostig
|
1730d2e037
|
Notify copy glue of dst-initialization and fix _vec.alloc issues in lib and runtime. Closes #109.
|
2010-07-22 17:47:32 -07:00 |
|
Graydon Hoare
|
7ff2094496
|
Back out too-platform-fussy bits in preempt-test work. I hate this test.
|
2010-07-22 15:39:41 -07:00 |
|
Graydon Hoare
|
0f220ecae9
|
Beat up on the preempt test a bit more, as it keeps hanging under valgrind.
|
2010-07-22 15:05:35 -07:00 |
|
Jeffrey Yasskin
|
068c71f11c
|
Fix -Wnon-virtual-destructor, which apple's gcc-4.0 seems to turn on by default.
|
2010-07-22 01:11:34 +08:00 |
|