* 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]
* Fixed some error handling for posix
* Improved some logging
* Disabled some unit tests on linux because they always fail
[CL 30991796 by henrik karlsson in ue5-main branch]
* Fixed so imagehlp.dll and dbghelp.dll are detoured when loaded. Detour ImageGetDigestStream and SymLoadModuleExW because both of them cause trouble on wine
* Fixed so reuse of processes also honor log files so a new log file is created when reuse happen
* Improved log file naming so host can set name and log files are sent back properly with the right name
[CL 30638193 by henrik karlsson in ue5-main branch]
* Changed Scheduler_GetStats to separate active into activeLocal and activeRemote
* Added Storage_DeleteFile that can be used to delete cas entries if we know a file will never be used again (no point taking up space)
* Fixed so ubaagents spawned through horde has a idle timeout of 15 seconds (also made them quiet)
* Changed so UbaJobProcessor shutdown uba after 100 seconds instead of 10 seconds of idling without tasks
* Added so .uba.in and .uba.out is deleted from cas storage after used.. no point storing them there since they will never be used again
* Fixed so number of local SCW instances are decreased when more remote helpers are running
* Fixed race condition where tasks could be added when uba was shutting down causing tasks to be cancelled
[CL 30607957 by henrik karlsson in ue5-main branch]
* Fixed so paths returned from SearchPathForFile are cleaned up (not having .. etc)
* Fixed so UbaAgent handle WSAPoll POLLERR as timeout so it retries when failing (this made the process exit on wine)
* Fixed so returned processes that had been reused returned the reused process to the scheduler
* Fixed so EnsureBinaryFile is using correct fileNameKeys
* Removed assert in detoured GetFullPathNameA since it is always calling GetFullPathNameW
[CL 30465533 by henrik karlsson in ue5-main branch]