define SIGSTOP 19 is just ok for architecture x86、arm、s390、powerpc and so on.
but others architecture has different values.
Co-Authored-By: hev <wangrui@loongson.cn>
elseif (CLR_CMAKE_TARGET_ARCH_ARM64)
add_definitions(-DTARGET_64BIT=1)
add_definitions(-DTARGET_ARM64)
+elseif (CLR_CMAKE_TARGET_ARCH_MIPS64)
+ add_definitions(-DTARGET_64BIT=1)
+ add_definitions(-DTARGET_MIPS64)
elseif (CLR_CMAKE_TARGET_ARCH_ARM)
add_definitions(-DTARGET_32BIT=1)
add_definitions(-DTARGET_ARM)
#include <sched.h>
#endif
-// Validate that our Signals enum values are correct for the platform
-c_static_assert(PAL_SIGKILL == SIGKILL);
// Validate that our SysLogPriority values are correct for the platform
c_static_assert(PAL_LOG_EMERG == LOG_EMERG);
int32_t SystemNative_Kill(int32_t pid, int32_t signal)
{
+ switch (signal)
+ {
+ case PAL_SIGKILL:
+ signal = SIGKILL;
+ break;
+
+ case PAL_SIGSTOP:
+ signal = SIGSTOP;
+ break;
+
+ default:
+ assert_msg(false, "Unknown signal",signal);
+ errno = EINVAL;
+ return -1;
+ }
+
return kill(pid, signal);
}
typedef enum
{
PAL_SIGKILL = 9, /* kill the specified process */
+ PAL_SIGSTOP = 19,
} Signals;
/**