Jeff Olson
dabbac1d6c
std: working tests for low-level libuv open, write and close operations
2013-08-22 16:31:57 -07:00
Jeff Olson
a901b16690
std: bootstrapping libuv-based fileio in newrt... open & close
...
the test "touch"es a new file
2013-08-22 16:31:57 -07:00
bors
0bc1ca4045
auto merge of #8631 : anasazi/rust/homing-io, r=brson
...
libuv handles are tied to the event loop that created them. In order to perform IO, the handle must be on the thread with its home event loop. Thus, when as task wants to do IO it must first go to the IO handle's home event loop and pin itself to the corresponding scheduler while the IO action is in flight. Once the IO action completes, the task is unpinned and either returns to its home scheduler if it is a pinned task, or otherwise stays on the current scheduler.
Making new blocking IO implementations (i.e. files) thread safe is rather simple. Add a home field to the IO handle's struct in uvio and implement the HomingIO trait. Wrap every IO call in the HomingIO.home_for_io method, which will take care of the scheduling.
I'm not sure if this remains thread safe in the presence of asynchronous IO at the libuv level. If we decide to do that, then this set up should be revisited.
2013-08-20 17:12:09 -07:00
bors
5034792c88
auto merge of #8584 : thestinger/rust/jemalloc, r=graydon
...
This reverts commit 371a316ec93a977f9dcd305b5f532cd394fa6885.
Closes #7217
2013-08-19 20:21:58 -07:00
Daniel Micay
ef436637ea
jemalloc: use $(AR), not ar
2013-08-19 20:53:02 -04:00
Graydon Hoare
517e611271
regenerate configure
2013-08-19 20:48:11 -04:00
Eric Reed
88f718341e
Instruct event loops to ignore SIGPIPE when constructed.
...
libuv does not always catch SIGPIPE.
2013-08-19 16:26:50 -07:00
Graydon Hoare
2c7164595f
rt: make jemalloc header conform to android signature.
2013-08-19 16:09:46 -07:00
bors
3bc6858428
auto merge of #8551 : huonw/rust/speling, r=alexcrichton
...
(This doesn't add/remove `u`s or change `ize` to `ise`, or anything like that.)
2013-08-18 05:11:58 -07:00
Brian Anderson
a4d171e009
rt: Remove unused uv helpers
2013-08-16 13:24:25 -07:00
Brian Anderson
5052773ad8
rt: Remove empty rust_upcall.h
2013-08-16 13:24:25 -07:00
Brian Anderson
450f16eb25
rt: Remove unused rust_clone_type_desc declaration
2013-08-16 13:24:25 -07:00
Brian Anderson
da7d79dfbe
rt: Remove rust_stack
2013-08-16 13:24:25 -07:00
Brian Anderson
8861ba6159
rt: Remove rust_refcount.h
2013-08-16 13:24:25 -07:00
Brian Anderson
cb89afc64e
rt: Remove unused parts of rust_log
2013-08-16 13:24:25 -07:00
Brian Anderson
085dc55e13
rt: Remove unused parts of rust_globals.h
2013-08-16 13:24:24 -07:00
Brian Anderson
1b6292aaea
rt: Remove rust_signal.h
2013-08-16 13:24:24 -07:00
Brian Anderson
5923cc3745
rt: Remove rust_env
2013-08-16 13:24:24 -07:00
Huon Wilson
72fd02d939
doc: convert remaining uses of core:: to std::.
2013-08-16 15:54:14 +10:00
Niko Matsakis
6fe59bf877
Add a field borrow_offset
to the type descriptor indicating
...
what amount a T* pointer must be adjusted to reach the contents
of the box. For `~T` types, this requires knowing the type `T`,
which is not known in the case of objects.
2013-08-11 13:59:45 -04:00
bors
60f5011005
auto merge of #8296 : erickt/rust/remove-str-trailing-nulls, r=erickt
...
This PR fixes #7235 and #3371 , which removes trailing nulls from `str` types. Instead, it replaces the creation of c strings with a new type, `std::c_str::CString`, which wraps a malloced byte array, and respects:
* No interior nulls
* Ends with a trailing null
2013-08-09 21:56:17 -07:00
Brian Anderson
b75915d0ca
Remove the C++ runtime. Sayonara
2013-08-09 16:45:50 -07:00
Erick Tryzelaar
8567611adf
Merge commit 'd89ff7eef969aee6b493bc846b64d68358fafbcd' into remove-str-trailing-nulls
2013-08-06 16:18:58 -07:00
Luqman Aden
9c39992021
Add support for vanilla linux on arm.
2013-08-04 19:28:06 -04:00
Erick Tryzelaar
3c94b5044c
Merge remote-tracking branch 'remotes/origin/master' into str-remove-null
2013-08-04 16:23:41 -07:00
Erick Tryzelaar
5865a7597b
Remove trailing null from strings
2013-08-04 15:45:16 -07:00
Brian Anderson
044fa35bf8
rt: Fix a corner-case in unwinding that leads to stack overflow
...
In some scenarios upcall_rust_stack_limit fails to record the stack
limit, leaving it 0, and allowing subsequent Rust code to run into
the red zone.
2013-08-03 23:40:25 -07:00
Brian Anderson
05eff5f731
extra: Remove dbg module and rt support code
...
This stuff is ancient, unused, and tied to oldsched
2013-07-31 18:51:57 -07:00
bors
9e857458d6
auto merge of #8145 : brson/rust/rttestfixes, r=pcwalton
...
Two commits here that fix test case dependencies on the old scheduler.
2013-07-31 07:34:24 -07:00
bors
5d409ccd30
auto merge of #8143 : brson/rust/change-dir-lock, r=luqmana
2013-07-31 05:46:21 -07:00
Brian Anderson
11fc1fd485
test: Use a test extern in various foreign fn tests
2013-07-30 21:13:55 -07:00
Brian Anderson
91f1ab4896
rt: Use the correct global change_dir lock
2013-07-30 21:06:02 -07:00
Brian Anderson
cb9ee7f5be
std: Remove ManualThreads spawn mode
2013-07-30 14:23:45 -07:00
Brian Anderson
0144c83213
std::rt: Change Thread interface to require an explicit join
...
Makes it more obvious what's going on
2013-07-30 14:23:44 -07:00
bors
6dc5e2c61f
auto merge of #8046 : kmcallister/rust/unused-log, r=pcwalton
2013-07-28 12:52:25 -07:00
bors
15310ba7c2
auto merge of #8040 : luqmana/rust/rtn, r=brson
...
Implements various missing tcp & udp methods.. Also fixes handling ipv4-mapped/compatible ipv6 addresses and addresses the XXX on `status_to_maybe_uv_error`.
r? @brson
2013-07-27 01:49:35 -07:00
Luqman Aden
037bf3757c
libstd: Implement some missing udp methods.
2013-07-25 22:21:46 -04:00
Keegan McAllister
d0f54a5cfb
Warn about unused RUST_LOG specs
2013-07-25 13:24:32 -07:00
Luqman Aden
61e741cf71
libstd: Implement {peer, socket}_name for new rt tcp & udp.
2013-07-25 05:57:52 -04:00
Daniel Micay
ce1db94647
rm unused upcall_exchange_free
2013-07-24 18:44:16 -04:00
bors
7f96eb58d2
auto merge of #7980 : graydon/rust/misc-benchmarks, r=catamorphism
...
Some machinery for enabling #[bench] benchmarks in std and some examples showing how to write them.
2013-07-23 22:46:39 -07:00
Graydon Hoare
bc2b78ca2c
rt: Fix child-iteration bug in crate map.
2013-07-22 16:56:10 -07:00
Brian Anderson
407bffb33e
std: Remove at_exit API. Unused
2013-07-22 14:17:09 -07:00
Brian Anderson
23b7ee2bda
std: Remove unstable::global. Unused
2013-07-22 14:16:52 -07:00
Brian Anderson
4beda4e582
std::rt: Stop using unstable::global in change_dir_locked
2013-07-22 14:16:52 -07:00
Brian Anderson
f8c4d99df6
std: Remove weak_task API. Unused
2013-07-22 14:16:52 -07:00
Daniel Micay
ed67cdb73c
new snapshot
2013-07-22 01:09:48 -04:00
bors
91ebfbb959
auto merge of #7859 : kmcallister/rust/rt-diag-messages, r=pcwalton
...
I added these while tracking down heap corruption in Servo.
2013-07-18 22:40:38 -07:00
bors
b70c045f38
auto merge of #7856 : brson/rust/no-thread-per-core, r=pcwalton
...
This doesn't make sense under the new scheduler.
2013-07-18 19:10:41 -07:00
Keegan McAllister
2d82d9364c
rt: Print alloc backtraces for bad release_alloc with RUSTRT_TRACK_ALLOCATIONS
...
Probably the env var should be renamed from DETAILED_LEAKS but I'm leaving
aside that breaking change for now.
2013-07-17 14:04:03 -07:00