* Add /NOEXP to crossreferenced link action when building dll (.exp is already written by lib action). Note, this is only enabled for msvc linker (clang linker does not support it)
[CL 32283976 by henrik karlsson in ue5-main branch]
- Remove bUsesSteam from ShooterGame targets
[REVIEW] [at]Jake.Nyman [at]Sam.Zamani
#rb jake.niman
[CL 32282855 by chris varnsverry in ue5-main branch]
* Added retry code for opening file for write. Will retry 5 times with one second in between. We have seen fails to open files for write randomly over the last five months (only a few times).. have no idea what could cause this.. have never seen it locally myself
* Fixed non unity compile error
[CL 32281959 by henrik karlsson in ue5-main branch]
Reason: Currently when shutdown and flush in http manager, it gives up and cancels remaining requests after waiting a short period. When cancel, it holds the RequestLock, and in FHttpRequestCommon::CancelRequest, it tries to access HttpTaskTimerHandleCriticalSection to stop activity timer. In the mean time, the request itself could be in activity or total timeout callback, which is holding the HttpTaskTimerHandleCriticalSection, and trying to AbortRequest which will try to access RequstLock in HttpManager.IsValidRequest.
[REVIEW] [at]michael.kirzinger [at]michael.atchison [at]rafa.lecina
#rb michael.atchison, Michael.Kirzinger, Rafa.Lecina
#tests Reproduced with test case in WebTests and fixed it. Tried launch and quit game on Win64.
[CL 32281657 by lorry li in ue5-main branch]
Bind the `task` class to `VTask` with a native `Await` method. For tasks created before this binding, `VTask` uses a trivial emergent type and shape, so code that runs in this context (i.e. module top-levels) does not support structured concurrency.
Each `sync` arm spawns a new task, and the overall expression `Await`s each of them in turn to collect their results. These tasks may need to remain active when the outer `sync` expression suspends, which conflicts with the way lenient suspension forcibly suspends child tasks - to resolve this, suspenion no longer affects child tasks (in fact child tasks are no longer tracked at all) and instead `EndTask` (really any time the current task changes) must check for an already-suspended `YieldTask`.
Also adjust the bytecode of `for` loops so that the body runs outside of any failure context, rather than forwarding failures. This enables `<suspends>` calls in `for` loop bodies.
#rb Markus.Breyer
[CL 32277546 by russell johnston in ue5-main branch]