summary refs log tree commit diff
path: root/library/std/src/sys
AgeCommit message (Collapse)AuthorLines
2022-07-15Address reviewer commentsRaoul Strackx-5/+10
2022-07-15Test `copy_to_userspace` functionRaoul Strackx-1/+33
2022-07-15Ensure userspace allocation is 8-byte alignedRaoul Strackx-1/+4
2022-07-15Mitigate MMIO stale data vulnerabilitiesRaoul Strackx-2/+98
Intel Security Advisory: https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00615.html
2022-07-15Unify copying data from enclave to userspaceRaoul Strackx-7/+3
2022-07-15Tests for unsound Windows file methodsChris Denton-0/+25
2022-07-15Windows: Fallback for overlapped I/OChris Denton-1/+26
Try waiting on the file handle once. If that fails then give up.
2022-07-15Use `rtabort!` instead of `process::abort`Chris Denton-7/+2
2022-05-17Revert "Add `set_inheritable` for Windows `Handle`s"Mark Rousskov-4/+0
This reverts commit b89b0567427932fe37851a314610d795258f1834.
2022-05-17Revert "Windows: Make stdin pipes synchronous"Mark Rousskov-85/+31
This reverts commit 949b978ec9d63b0eea23d89bad16c6f022ac34a3.
2022-05-17Revert "Note the importance of using sync pipes"Mark Rousskov-19/+1
This reverts commit 1e7c15634d3b81b595d669382e45e6e136c730e1.
2022-05-11to_timespec could be unused by some targetsSébastien Marie-0/+1
2022-05-11avoid using both Some() and ? on linux/android/freebsd codeSébastien Marie-1/+1
2022-05-11openbsd: convert futex timeout managment to Timespec usageSébastien Marie-9/+7
2022-05-11Rollup merge of #96861 - m-ou-se:std-use-prelude-2021, r=joshtriplettYuki Okushi-29/+2
Use Rust 2021 prelude in std itself.
2022-05-10Expose process main_thread_handle on Windowsunknown-7/+38
2022-05-09Use Rust 2021 prelude in std itself.Mara Bos-29/+2
2022-05-09Auto merge of #96802 - gimbles:windows_slice, r=thomccbors-0/+1
[feat] Make sys::windows::os_str::Slice repr(transparent) Fixes #96577
2022-05-08fix panic in Path::strip_prefixname1e5s-0/+12
2022-05-07[fix] remove pub(crate) visibilitygimbles-1/+1
2022-05-06Share more unix SystemTime codeJosh Stone-101/+57
2022-05-06[feat] Make sys::windows::os_str::Slice repr(transparent)gimbles-1/+2
2022-05-06Use statx's 64-bit times on 32-bit linux-gnuJosh Stone-38/+79
2022-05-06Use __clock_gettime64 on 32-bit linux-gnuJosh Stone-0/+27
2022-05-06unix: always use 64-bit TimespecJosh Stone-67/+65
2022-05-03Round timeouts up to infinite in futex_wait on DragonFlyBSD.Mara Bos-9/+8
2022-05-03Add #[cfg] in cfg_if for linux in unix/futex.Mara Bos-3/+5
2022-05-03Don't use futexes on netbsd.Mara Bos-43/+5
The latest NetBSD release doesn't include the futex syscall yet.
2022-04-29Disable pthread thread parker on futex platforms.Mara Bos-1/+5
2022-04-29Always return false in futex_wake on {Free,DragonFly}BSD.Mara Bos-16/+13
2022-04-29Use futex-based locks and thread parker on FreeBSD.Mara Bos-4/+59
2022-04-29Use futex-based locks and thread parker on DragonFlyBSD.Mara Bos-1/+43
2022-04-29Use futex-based locks and thread parker on NetBSD.Mara Bos-24/+52
2022-04-29Use futex-based locks and thread parker on OpenBSD.Mara Bos-1/+52
2022-04-29Auto merge of #96441 - ChrisDenton:sync-pipes, r=m-ou-sebors-31/+107
Windows: Make stdin pipes synchronous Stdin pipes do not need to be used asynchronously within the standard library. This is a first step in making pipes mostly synchronous. r? `@m-ou-se`
2022-04-28Auto merge of #96393 - joboet:pthread_parker, r=thomccbors-9/+281
std: directly use pthread in UNIX parker implementation `Mutex` and `Condvar` are being replaced by more efficient implementations, which need thread parking themselves (see #93740). Therefore we should use the `pthread` synchronization primitives directly. Also, we can avoid allocating the mutex and condition variable because the `Parker` struct is being placed in an `Arc` anyways. This basically is just a copy of the current `Mutex` and `Condvar` code, which will however be removed (again, see #93740). An alternative implementation could be to use dedicated private `OsMutex` and `OsCondvar` types, but all the other platforms supported by std actually have their own thread parking primitives. I used `Pin` to guarantee a stable address for the `Parker` struct, while the current implementation does not, rather using extra unsafe declaration. Since the thread struct is shared anyways, I assumed this would not add too much clutter while being clearer.
2022-04-28std: simplify UNIX parker timeoutsjoboet-59/+21
2022-04-27Note the importance of using sync pipesChris Denton-1/+19
2022-04-26Windows: Make stdin pipes synchronousChris Denton-31/+85
Stdin pipes do not need to be used asynchronously within the standard library.
2022-04-26Add `set_inheritable` for Windows `Handle`sChris Denton-0/+4
2022-04-25Remove references to git.ioEric Huss-1/+2
2022-04-25std: directly use pthread in UNIX parker implementationjoboet-7/+317
Mutex and Condvar are being replaced by more efficient implementations, which need thread parking themselves (see #93740). Therefore use the pthread synchronization primitives directly. Also, avoid allocating because the Parker struct is being placed in an Arc anyways.
2022-04-25Auto merge of #95246 - ChrisDenton:command-args, r=joshtriplettbors-91/+191
Windows Command: Don't run batch files using verbatim paths Fixes #95178 Note that the first commit does some minor refactoring (moving command line argument building to args.rs). The actual changes are in the second.
2022-04-24Auto merge of #94609 - esp-rs:esp-idf-stat-type-fixes, r=Mark-Simulacrumbors-3/+18
espidf: fix stat Marking as draft as currently dependant on [a libc fix](https://github.com/rust-lang/libc/pull/2708) and release.
2022-04-23Auto merge of #96314 - AronParker:issue-96297-fix, r=thomccbors-1/+7
Reduce allocations for path conversions on Windows Previously, UTF-8 to UTF-16 Path conversions on Windows unnecessarily allocate twice, as described in #96297. This commit fixes that issue.
2022-04-23Auto merge of #94887 - dylni:move-normpath-crate-impl-to-libstd, r=ChrisDentonbors-29/+115
Improve Windows path prefix parsing This PR fixes improves parsing of Windows path prefixes. `parse_prefix` now supports both types of separators on Windows (`/` and `\`).
2022-04-22Remove redundant type annotationAron Parker-1/+1
2022-04-22Reduce allocations for path conversions on WindowsAron Parker-1/+7
Previously, UTF-8 to UTF-16 Path conversions on Windows unnecessarily allocate twice, as described in #96297. This commit fixes that issue.
2022-04-21Rollup merge of #96193 - djkoloski:fuchsia_current_exe, r=tmandryDylan DPC-1/+21
[fuchsia] Add implementation for `current_exe` This implementation returns a best attempt at the current exe path. On fuchsia, fdio will always use `argv[0]` as the process name and if it is not set then an error will be returned. Because this is not guaranteed to be the case, this implementation returns an error if `argv` does not contain any elements.
2022-04-20Rollup merge of #96234 - goffrie:eloop, r=thomccDylan DPC-1/+2
remove_dir_all_recursive: treat ELOOP the same as ENOTDIR On older Linux kernels (I tested on 4.4, corresponding to Ubuntu 16.04), opening a symlink using `O_DIRECTORY | O_NOFOLLOW` returns `ELOOP` instead of `ENOTDIR`. We should handle it the same, since a symlink is still not a directory and needs to be `unlink`ed.