Commit Graph

36 Commits

Author SHA1 Message Date
631624dc55 [*] Linux build regressions, and shrink the size of Linux RWLocks to 48 bytes from 64 2024-05-07 14:57:19 +01:00
83f34b0c47 [*] I was right. String views are [mostly] pointless (*)
03:28:55:638  17>2 of 53388 functions (<0.1%) were compiled, the rest were copied from previous compilation.
03:28:55:638  17>  0 functions were new in current compilation
03:28:55:638  17>  65 functions had inline decision re-evaluated but remain unchanged
03:28:56:749  17>Finished generating code

the header of const AuString & is the same as std::string_view therefore nothing changes. in fact, we still need to alloc strings a bunch of times for a zero terminated string. worse, <c++20 always allocs each time we want to access a hashmap with o(1) lookup, making small hashmaps kinda pointless when we always have to alloc+copy (thx std)

perhaps this will help some language binders
2024-04-19 05:58:08 +01:00
263ca6e646 [*] Amend FileStream::Close (232a136b) 2024-03-27 15:40:13 +00:00
232a136bfe [+] IOHandle::IsWriteEoSOnClose
[+] IOHandle::SetWriteEoSOnClose
[+] IOHandle::HandleCreate::bFlushOnClose
[+] IOHandle::HandleCreate::bWriteEoSOnClose
[*] Unified grug based auto-truncating. Previously we were truncating on the final derefing thread; now, we truncate on the grug thread.
[*] Refactor/Cleanup IOHandle
2024-03-27 03:15:01 +00:00
782d788531 [*] Drop stupid write stream semantics 2024-03-22 13:57:39 +00:00
25b1a9cad6 [*] Thread-safety: harden io file streams and improve construction api of OpenBlockingFileStreamFromHandle 2024-03-15 08:50:52 +00:00
b3f1ef8bc2 [*] Fix recent regression in f401c6f750 and fix two ignored return values 2024-03-14 01:22:20 +00:00
3f265cf19b [*] IOHandle is now 192 bytes
[*] Autohandle duplication
2024-03-13 07:50:50 +00:00
48aa0f01b1 [+] IFileStream::ToStreamSeekingReader
[+] IFileStream::ToStreamSeekingWriter
[*] Mitigation for Linshids god awful IO subsystems
2024-03-09 00:47:33 +00:00
0a6c11d919 [*] Moved some source code to AuProcAddresses.UNIX.cpp 2024-03-05 18:37:44 +00:00
63050b2262 [+] IFileStream::IsFlushOnClose
[+] IFileStream::SetFlushOnClose
[+] IFileStream::IsWriteEoSOnClose
[+] IFileStream::SetWriteEoSOnClose
[+] IIOHandle::IsFlushOnClose
[+] IIOHandle::SetFlushOnClose
2024-01-02 00:00:47 +00:00
9b99e6e7c7 [*] Harden IPC pipes 2023-12-16 21:08:46 +00:00
baf31e32d0 [+] IFileStream::ToStreamReader()
[+] IFileStreamToStreamWriter()
[+] IProcess::ToStreamReader(EStandardHandle stream)
[+] IProcess::ToStreamWriter()
2023-12-02 18:05:49 +00:00
88094c48ae [*] Harden pipe reads under FS streams 2023-10-20 11:37:52 +01:00
5d12f1a203 [*] Resolve IO regressions (4. Hello FS) (Mostly UNIX) 2023-09-18 07:11:34 +01:00
9a294cf955 [*] (Mostly Linux) Harden FS apis 2023-09-16 01:20:28 +01:00
3df8621944 [+] NT: IOHandle::IsFile(), IOHandle::IsTTY(), IOHandle::IsPipe()
[*] Revert to supporting write-only handles
2023-08-15 14:46:21 +01:00
1f173a8799 [*] Begin resolving 8 months of Linux neglect 2023-08-11 16:51:42 +01:00
00129255f8 [*] changed this to be a soft-failure 2023-04-19 04:03:49 +01:00
f43251c8fc [+] AuNet::ISocketChannelEventListener
[+] AuFS::UpdateTimes
[+] AuFS::UpdateFileTimes
[+] AuFS::CompressEx
[*] AuFS::Compress now rejects files that look to be already compressed
[+] AuFS::DecompressEx
[+] AuFS::Create
[+] AuFS::WriteNewFile
[+] AuFS::WriteNewString
[+] AuFs::FileAttrsList
[+] AuFs::FileAttrsGet
[+] AuFs::FileAttrsSet
[+] DirectoryLogger::uMaxLogsOrZeroBeforeCompress
[+] ISocketChannel.AddEventListener
[+] ISocketChannel.AddEventListener
[+] DirectoryLogger.uMaxLogsOrZeroBeforeCompress
[*] Fix UNIX regression
[*] Fix up stream socket channel realloc IPC
[*] Fix shutdown regression in pretty much everything thanks to 8ff81df1's dumbass fix
    (fixes fence regression on shutdown)
[*] Fix DirDeleterEx formatting of reported failed paths
[*] Fix up file not truncated if already exists bugs. Extended and alternative apis added.
[*] Fix ICompressionStream::ReadEx returning the wrong read value
[+] Legacy compression API can now self-correct once newer stream processor objects are added
2023-02-04 19:43:01 +00:00
f0fcec0cb7 [+] _CLOEXEC on F-tier operating systems predating SMP and processes 2022-12-16 03:48:04 +00:00
eda8d4255d [+] IProcessSectionMapView
[+] IProcessSectionView (downgraded bc NT)
2022-08-10 10:50:49 +01:00
e4e0af2f1d [*] Reset stream out variable sooner under filestream 2022-08-02 13:29:01 +01:00
1f15674016 [+] Optional blocking operations for Linux async file objects 2022-04-17 15:51:37 +01:00
8468c4d65c [+] Missing UNIX flock advisory impl 2022-04-13 17:20:23 +01:00
415116c891 [+] Linux Async IO 2022-04-13 12:00:35 +01:00
3defb1bb14 [+] Linux Watcher
[*] Expand watcher API -> Breaking NT
[*] Reexpand loop queue API -> Breaking NT
[*] Linux CPUInfo clean up
[*] Bug fix: mkdir should set execute flag... because directories are special
[*] Refactor: Cleanup base64
[*] Bug fix: UNIX path normalization
[*] Bug fix: missing O_CREAT flag (au auto-creates)
[*] Normalize line endings
2022-04-10 16:40:49 +01:00
d3428f4cd9 [*] Continued loop work (Linux and Win32) 2022-04-07 02:20:46 +01:00
8fe83de42f [*] Linux has a pulse... 2022-04-06 02:24:38 +01:00
5a96a71949 [*] Address *some* build issues under Linux. Interim port progress 2022-04-04 08:53:34 +01:00
ba8602744b [+] Interim and incomplete Unix/Linux buildability 2022-03-22 05:10:40 +00:00
97d6c96712 [*] Succesfully built on Linux for the first time in a very long time 2021-10-02 17:07:33 +01:00
caa983ecad [*] Major change in include convention 2021-09-30 15:57:41 +01:00
412d798994 [*] API design change, MemoryViews must be passed by reference such that a pointer to an object that may be the superclass of the actual RAII owner of the memory is passed 2021-09-15 20:08:08 +01:00
510928e62e [*] Linux should not raise int3 unless the binary is a debug one
TODO: investigate registering an int3 signal handler to prevent crashing under internal builds
[*] Amend MemoryViews
[*] Begin shifting towards MemoryView based binary APIs
[*] Fix public RSA key leak
[+] Some clean up and possible bug fixes
2021-09-15 00:56:26 +01:00
ffe4bc31fc Major patch [1/2] 2021-09-06 11:58:08 +01:00