5#include "Containers/Array.h"
19#if PLATFORM_CPU_X86_FAMILY
25#include <mach/mach_time.h>
29#if !defined(__clang__)
33# elif PLATFORM_WINDOWS && PLATFORM_CPU_ARM_FAMILY
34# include <arm64intr.h>
40#define MAX_NUM_PROCESSORS 128
42#define MAX_NUM_PROCESSORS 16
84 class FURLRequestFilter;
88template<
typename T, T Inval
idHandleValue >
180 operator void*()
const
190 operator void*()
const
609 static CORE_API FProcHandle CreateProc(
const TCHAR* URL,
const TCHAR* Parms,
bool bLaunchDetached,
bool bLaunchHidden,
bool bLaunchReallyHidden,
uint32*
OutProcessID,
int32 PriorityModifier,
const TCHAR*
OptionalWorkingDirectory,
void*
PipeWriteChild,
void*
PipeReadChild,
void*
PipeStdErrChild);
733#if PLATFORM_HAS_BSD_TIME
762 UE_DEPRECATED(5.0,
"Please use GetSynchEventFromPool to create a new event, and ReturnSynchEventToPool to release the event.")
952#if PLATFORM_USE_SSE2_FOR_THREAD_YIELD
954#elif PLATFORM_CPU_ARM_FAMILY
955# if defined(_MSC_VER)
972#if PLATFORM_CPU_X86_FAMILY
979#elif __has_builtin(__builtin_readcyclecounter)
989 Cycles = start != 0 ? Cycles : 0;
992 if (FPlatformMisc::HasTimedPauseCPUFeature())
997#elif __has_builtin(__builtin_ia32_tpause)
1000# error Unsupported architecture!
1014 for (
uint64 i = 0; i < Cycles; i++)
1016#if PLATFORM_CPU_ARM_FAMILY
1017# if defined(_MSC_VER)
1023# error "Not implemented on this platform"
#define NULL
Definition oodle2base.h:134
#define unimplemented()
Definition AssertionMacros.h:321
#define UE_DEPRECATED(Version, Message)
Definition CoreMiscDefines.h:302
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition PThreadSemaphore.h:15
Definition RunnableThread.h:20
Definition GenericPlatformProcess.h:223
virtual bool DoesSentinelFileExistImpl(const TCHAR *Name, FString *OptionalOutContents=nullptr)=0
static bool CORE_API DoesSentinelFileExist(const TCHAR *Name, FString *OptionalOutContents=nullptr)
Definition GenericPlatformProcess.cpp:43
virtual bool CreateSentinelFile(const TCHAR *Name, const FString &Contents)=0
virtual FString CORE_API MakeFilename(const TCHAR *Name)
Definition GenericPlatformProcess.cpp:48
Definition AssetRegistryState.h:50
Definition SharedPointer.h:692
Definition URLRequestFilter.h:29
Definition GenericPlatformProcess.h:65
Type
Definition GenericPlatformProcess.h:67
@ Open
Definition GenericPlatformProcess.h:69
@ Edit
Definition GenericPlatformProcess.h:72
Definition TaskGraph.cpp:63
Type
Definition TaskGraphInterfaces.h:57
Definition GenericPlatformProcess.h:51
Type
Definition GenericPlatformProcess.h:53
@ VirtualMemory
Definition GenericPlatformProcess.h:58
Definition PlayInEditorLoadingScope.h:8
Definition AndroidPlatformManualResetEvent.cpp:14
EProcessId
Definition GenericPlatformProcess.h:210
Definition GenericPlatformProcess.h:146
@ false
Definition radaudio_common.h:23
Definition GenericPlatformProcess.h:414
bool bIsEpic
Definition GenericPlatformProcess.h:422
Context
Definition GenericPlatformProcess.h:416
Context Location
Definition GenericPlatformProcess.h:421
Definition AndroidPlatformProcess.h:13
Definition GenericPlatformProcess.h:90
T HandleType
Definition GenericPlatformProcess.h:91
UE_FORCEINLINE_HINT constexpr TProcHandle()
Definition GenericPlatformProcess.h:95
UE_FORCEINLINE_HINT TProcHandle(T Other)
Definition GenericPlatformProcess.h:100
UE_FORCEINLINE_HINT T Get() const
Definition GenericPlatformProcess.h:105
UE_FORCEINLINE_HINT bool IsValid() const
Definition GenericPlatformProcess.h:115
T Handle
Definition GenericPlatformProcess.h:122
UE_FORCEINLINE_HINT void Reset()
Definition GenericPlatformProcess.h:110
Definition GenericPlatformProcess.h:197
bool bInheritHandles
Definition GenericPlatformProcess.h:204
FWriteHandle StdOut
Definition GenericPlatformProcess.h:206
bool bDetached
Definition GenericPlatformProcess.h:202
bool bHidden
Definition GenericPlatformProcess.h:203
const TCHAR * Arguments
Definition GenericPlatformProcess.h:199
int32 PriorityModifier
Definition GenericPlatformProcess.h:201
const TCHAR * WorkingDirectory
Definition GenericPlatformProcess.h:200
FReadHandle StdIn
Definition GenericPlatformProcess.h:205
FWriteHandle StdErr
Definition GenericPlatformProcess.h:207
const TCHAR * Uri
Definition GenericPlatformProcess.h:198
Definition GenericPlatformProcess.h:177
void * Value
Definition GenericPlatformProcess.h:178
Definition GenericPlatformProcess.h:187
void * Value
Definition GenericPlatformProcess.h:188
Definition GenericPlatformProcess.h:147
uint64_t TotalTime
Definition GenericPlatformProcess.h:148
uint64_t SoftIRQTime
Definition GenericPlatformProcess.h:152
uint64_t UserTime
Definition GenericPlatformProcess.h:149
uint64_t IOWaitTime
Definition GenericPlatformProcess.h:155
uint64_t IdleTime
Definition GenericPlatformProcess.h:154
uint64_t SystemTime
Definition GenericPlatformProcess.h:151
uint64_t IRQTime
Definition GenericPlatformProcess.h:153
uint64_t NiceTime
Definition GenericPlatformProcess.h:150
Definition GenericPlatformProcess.h:159
static constexpr int32 MaxSupportedCores
Definition GenericPlatformProcess.h:160
double Utilization[MaxSupportedCores]
Definition GenericPlatformProcess.h:167
double AverageIdleTime
Definition GenericPlatformProcess.h:170
FCPUStatTime PreviousUsage[MaxSupportedCores]
Definition GenericPlatformProcess.h:165
int32 ActivatedCoreCount
Definition GenericPlatformProcess.h:162
ANSICHAR Name[6]
Definition GenericPlatformProcess.h:163
int32 Status[MaxSupportedCores]
Definition GenericPlatformProcess.h:166
FCPUStatTime CurrentUsage[MaxSupportedCores]
Definition GenericPlatformProcess.h:164
int32 CoreCount
Definition GenericPlatformProcess.h:161
double AverageUtilization
Definition GenericPlatformProcess.h:169
double IdleTime[MaxSupportedCores]
Definition GenericPlatformProcess.h:168