Roy Stewart
07e81fe172
[Base] Filter out relative directories on linux
2023-06-09 19:47:28 -05:00
Roy Stewart
41c423109f
[Base] Set the path for posix file info
2023-06-09 19:43:49 -05:00
Gliniak
e110527bfe
[Base] ListFiles: Prevent leakage of file descriptors
2023-06-09 19:41:27 -05:00
Triang3l
624f2b2d9e
[Base] Android content URI file memory mapping
2022-07-17 16:34:17 +03:00
Triang3l
93a7918025
[Base] Android content URI file descriptor opening
2022-07-17 16:25:58 +03:00
Triang3l
34a952d789
[Base] Wrap strdup and strcasecmp in xe:: functions
2022-07-17 16:14:29 +03:00
Triang3l
500bbe9e0d
[Base] Use to_path for Android path argument loading
2022-07-16 13:42:04 +03:00
Triang3l
373b143049
[Base] Cvars from Android Bundle/Intent
2022-07-16 13:13:08 +03:00
Triang3l
415750252b
[Base] PosixMappedMemory: Close, Flush
2022-07-14 22:51:07 +03:00
Triang3l
65137e58bd
[Base] PosixMappedMemory: fd instead of stdio
...
Android ContentResolver, which is needed for content:// URIs, provides file descriptors rather than stdio files
2022-07-14 22:11:46 +03:00
Triang3l
9fd63519bf
[Base] Make MappedMemory non-copyable
2022-07-14 22:04:06 +03:00
Triang3l
326e718035
[CPU] MMIO: Arm64, load register writes + exception cleanup
2022-07-06 21:05:05 +03:00
Triang3l
d51fafd07c
[Base] Linux Arm64 exception handler
2022-07-05 20:46:49 +03:00
Triang3l
40aa73f7d7
[Linux] Swap read/write in x64 page fault handler + exception code cleanup
2022-07-04 23:51:26 +03:00
Triang3l
a9cbd9cc5f
[Linux] Update RIP after handling an exception
2022-07-04 23:24:26 +03:00
uytvbn
54aac81268
[Linux] Implement exception handler
2022-07-04 23:04:27 +03:00
Triang3l
35d4ea59c6
[Base] Remove exception_handler_linux.cc
2022-07-04 23:02:11 +03:00
Rick Gibbed
a3e5ea8575
[Base] Fix missing include in utf8.cc.
2022-05-27 17:56:14 -05:00
Triang3l
12ff951972
[Base] More flexible Xenos float16 conversion functions
2022-04-26 22:35:37 +03:00
Joel Linn
e3dd873892
[Base] Fix wait for callback return
...
- If wait item has disarmed itself and is then disarmed by another
thread, still wait for the callback to return to meet guaratees
2022-04-26 13:56:11 -05:00
Joel Linn
3b4dc7da3b
[Base] Use disruptorplus spin wait
...
- Attempt to fix deadlocks when using valgrind on CI
2022-04-26 13:56:11 -05:00
Joel Linn
e59a0e1206
[Base] Relax some timing constraints.
...
- Because setting the timer is scheduled by us but the wait on POSIX is
currently scheduled by pthreads, this solves issues on overprovisioned
CIs
2022-04-26 13:56:11 -05:00
Joel Linn
4a36a7962c
[Base] Remove unneeded delay scheduler
2022-04-26 13:56:11 -05:00
Joel Linn
15950eec37
[Base] Use chrono APIs for Timers
2022-04-26 13:56:11 -05:00
Joel Linn
1478be14c7
[Base] Add chrono tests
2022-04-26 13:56:11 -05:00
Joel Linn
23eef94984
[Base] Add chrono support
...
- WinSystemClock is a FILETIME clock without scaling, can convert to
system_time
- XSystemClock is a FILTETIME clock with scaling applied, can only
convert to WinSystemClock
2022-04-26 13:56:11 -05:00
Joel Linn
9b4168cce9
[Base] Make HighResolutionTimer platform agnostic
2022-04-26 13:56:11 -05:00
Joel Linn
75357caeaf
[Base] Add TimerQueue
...
- Cross platform functionality similar to Windows' `CreateTimerQueue`
with `WT_EXECUTEINTIMERTHREAD`
2022-04-26 13:56:11 -05:00
Joel Linn
a85fc25040
[Base] Add more tests for HighResolutionTimer
2022-04-26 13:56:11 -05:00
Joel Linn
b72ab7b4a4
[Base] Refactor POSIX timers, fix user-after-free
...
Since timer_delete does not clean up already queued signals, signal info
data needs to be retained after timer deletion and object destruction in
order to circumvent use-after-free bugs.
2022-03-08 12:17:57 -06:00
Joel Linn
257b904a5e
[Base] Add DelayScheduler class
...
Schedule callbacks whith the only guarantee that they will not be run for
the minimum duration specified. Useful for garbage collecting POSIX
timer_create() signal info data.
2022-03-08 12:17:57 -06:00
Joel Linn
e0f34b97fb
[Base] Check for correct thread in HResTimer tests
2022-03-08 12:17:57 -06:00
Joel Linn
fb741db2fe
[Base] Fix callback threads for POSIX timers
2022-03-08 12:17:57 -06:00
Joel Linn
986dcf4f65
[Base] Check success of sync primitive creation
...
- Mainly use `assert`s, since failure is very rare
- Forward failure of `CreateSemaphore` to guests because it is more easy
to trigger with invalid initial parameters.
2022-03-08 12:17:57 -06:00
Joel Linn
6bd1279fc0
[Base] Forward handle=null as nullptr for win
2022-03-08 12:17:57 -06:00
Joel Linn
4ea6e45e0c
[Base] Remove Sleeps from more test cases
...
Timing dependencies in this tests were causing spurious test failures:
- Create and Run Thread
- Test Thread QueueUserCallback
They have been largely replaced by spin waits.
2022-03-08 12:17:57 -06:00
Joel Linn
e75e0eb39c
[Base] Fix Semaphore::Create invalid parameters
2022-03-08 12:17:57 -06:00
Joel Linn
bb42829308
[Base] Fix WaitMultiple on POSIX
...
- Never use `cond_.notify_one()` because it may wake a thread that is
unrelated to the signalled wait handle, resulting in a lost wake and
possible deadlock. Wait conditions are to be checked by the threads
themselves.
- Refactor and simplify `WaitMultiple`
2022-03-08 12:17:57 -06:00
Joel Linn
ca6296089e
[Base] Remove timing dependency from test
...
- Use atomics and spin waits to synchronize threads for tests
- Improves test stability on CI
2022-03-08 12:17:57 -06:00
Joel Linn
49efbeaca8
[Base] Add spin wait helper to threading test
2022-03-08 12:17:57 -06:00
Radosław Gliński
6b45cf8447
[Base] Match exactly when no pattern in wildcard
2022-02-17 17:38:04 -06:00
Triang3l
ba28ef9717
[Win32] Declare Windows 7-11 support in the manifest
2022-02-17 20:38:52 +03:00
Triang3l
74c109273c
[UI] Add PerMonitor fallback to Windows dpiAwareness
2022-02-14 12:35:08 +03:00
Triang3l
e57db52285
[UI] Enable Windows PMv2 DPI awareness accidentally kept disabled after testing
2022-02-13 23:10:19 +03:00
Gliniak
7977d7ab98
[Base] Changed entry point to wmain for Windows
...
This prevents subapps from crashing when executing wmain specific functions
2022-02-01 15:50:48 -06:00
Triang3l
c6fc8f706a
[Base] GetAndroidThreadJniEnv capitals, move JNI usage tips there
2022-02-01 21:33:20 +03:00
Triang3l
009f709ad4
[Base] Remove Android jfieldIDs used only once from the file scope
2022-01-31 13:00:28 +03:00
Triang3l
d998c13ee8
[Base] Explain why no Android activity in xenia-base [ci skip]
2022-01-31 12:12:57 +03:00
Triang3l
3f817fb241
[Base] Android JNIEnv attachment and LaunchWebBrowser
2022-01-30 23:35:40 +03:00
Triang3l
d2ef8d3300
[Base] Android error reporting via SIGABRT/RuntimeException
2022-01-30 18:36:11 +03:00