* Fixed so CreateHardLink is allowed to fail on macos without throwing asserts
* Added CopyFile implementation for macos
[CL 35906192 by henrik karlsson in ue5-main branch]
* Changed CreateHardLinkW to use "link" instead of symlink on macos and linux. Reason is because when binary has explicit dynamic library dependencies they are often next to the binary and if it is a symlink it will look in the wrong place
[CL 35898597 by henrik karlsson in ue5-main branch]
* Fixed so mode is propagated when closing file for write that failed to use rename
* Changed default file mode to mode include S_IRGRP and S_IROTH
[CL 34262059 by henrik karlsson in ue5-main branch]
* Renamed system stats to kernel stats
* Changed all stats storing to use bitfield first to say which fields that are non-zero
[CL 34058881 by henrik karlsson in ue5-main branch]
* Added stats tracking for get file attributes to get more information on what is stalling on the farm
* Enabled storage and system stats for cache misses
[CL 34020773 by henrik karlsson in ue5-main branch]
* Added more stats to cache fetch to be able to figure out where time goes
* Changed code to use FileExists instead of GetFileInformation.. since we only need information that can be fetched with FileExists
* Removed usage of sprintf when creating cas filename
[CL 33979482 by henrik karlsson in ue5-main branch]
* Added -expiration=<seconds> to UbaCacheService.. This controls when cache entries should be deleted. If an entry has been unused for more than <expiration> time it gets deleted. Defaults to two days.
* Added reason why cache entries are deleted
* Changed so cas database is always checked in startup.
[CL 33963630 by henrik karlsson in ue5-main branch]
* Removed GetNowFileTime. GetSystemTimeAsFileTime should be used instead
* Fixed some minor bugs in uba cache server related to times
* Added obliterate command to cache server
[CL 33916906 by henrik karlsson in ue5-main branch]
* Added support for extracting import/export symbols from obj file and strip it from exports at the same time
[CL 33761137 by henrik karlsson in ue5-main branch]
* Fixed so absolute paths (paths with ':' as second character) are prefixed with \\?\ on windows. This to hopefully solve problems with systems that does not have long paths enabled but still end up with long paths
[CL 33109893 by henrik karlsson in ue5-main branch]
* Added support for storing .obj files compressed by cl.exe and then decompressed in-memory by link.exe. Note this is not properly implemented and only work for cl.exe+link.exe combo
[CL 32625054 by henrik karlsson in ue5-main branch]
* Fixed bug where pipes between processes did not work properly on wine
* Added unit tests for pipes (win only)
* Improved error message when failing to open file
* Fixed so .obj is seen as output files from ispc.exe
* Fixed up application path when creating child processes
[CL 32537147 by henrik karlsson in ue5-main branch]
* Changed so macos is using ftruncate instead of lseek+write. This fixes failed unit test on some macs
* Removed locks in UbaNetworkBackendMemory to fix potential deadlock
* Added StringBuffer::GetFileName since it is a common usecase when doing debug printing
* Added missing close of file descriptor in error situation
[CL 32191183 by henrik karlsson in ue5-main branch]
* Added PrefetchVirtualMemory function
* Fixed bug where code writing callstacks checks end of module to figure out if address belongs to module
* Changed so FileAccessor::CreateMemoryWrite set always allow read because you can't create file mappings that are write-only
* Added option to scheduler to force all runs to run native
* Fixed so bottleneck class has enter/leave function
* Added ScopedReadLock::Enter
* Moved LogWriter to its own file
* Visualizer - Fixed so when hovering over timeline time under pointer is showing
* Visualizer - Fixed so hovering over work records shows name, start and duration
* Visualizer - Added context menu item that can show/hide text of process bars
* Improved assert message
* Changed so lock is not on stack but is leaked to prevent shutdown warnings in debug
* Added missing includes
[CL 31981637 by henrik karlsson in ue5-main branch]
* Changed so all ScopedReadLock and ScopedWriteLock are macros (SCOPED_READ_LOCK and SCOPED_WRITE_LOCK).. this to be able to add code around the lock to measure contention. Contention testing code can be enabled by setting UBA_TRACK_CONTENTION to 1
[CL 31795889 by henrik karlsson in ue5-main branch]
* Added O_CLOEXEC to all open to prevent file descriptors from leaking to child processes. This seems to really fix the ETXTBUSY
* Added read hint for DecompressMemoryToMemory to be able to show better error messages
[CL 31636371 by henrik karlsson in ue5-main branch]
* Added code to handling uba::ReadFile trying to read file with less bytes than requested. It will try for 3 seconds and then fail with a message saying it read 0 bytes for 3 seconds
* Added more information to error messages
[CL 31461069 by henrik karlsson in ue5-main branch]
* Added hint to unmapfileview to be able to add useful information to asserts on fails
* Added error handling for vsnprintf returning error
* Fixed memory stomp in unit test
* Removed usage of %hs on non-windows since asan complains about it
* Changed UBA_USE_MIMALLOC to always be defined and be 0 or 1 instead of using ifdef
* Enabled mimalloc on linux
[CL 31355077 by henrik karlsson in ue5-main branch]