From: SUN Guoyun <40024232+sunny868@users.noreply.github.com> Date: Mon, 10 Aug 2020 03:20:04 +0000 (+0800) Subject: Redefine signal for architecture mips (#40513) X-Git-Tag: submit/tizen/20210909.063632~6119 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3b4f708fe2e6ddd2f6bc38ccd81c6c4a98f13fbc;p=platform%2Fupstream%2Fdotnet%2Fruntime.git Redefine signal for architecture mips (#40513) define SIGSTOP 19 is just ok for architecture x86、arm、s390、powerpc and so on. but others architecture has different values. Co-authored-by: Sunguoyun Co-authored-by: hev Co-authored-by: Jan Kotas --- diff --git a/src/libraries/Native/Unix/CMakeLists.txt b/src/libraries/Native/Unix/CMakeLists.txt index 3168c7e..a4f8970 100644 --- a/src/libraries/Native/Unix/CMakeLists.txt +++ b/src/libraries/Native/Unix/CMakeLists.txt @@ -64,6 +64,9 @@ elseif (CLR_CMAKE_TARGET_ARCH_WASM) 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) diff --git a/src/libraries/Native/Unix/System.Native/pal_process.c b/src/libraries/Native/Unix/System.Native/pal_process.c index 6d86efe..44cb59d 100644 --- a/src/libraries/Native/Unix/System.Native/pal_process.c +++ b/src/libraries/Native/Unix/System.Native/pal_process.c @@ -28,8 +28,6 @@ #include #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); @@ -653,6 +651,26 @@ int32_t SystemNative_SetRLimit(RLimitResources resourceType, const RLimit* limit int32_t SystemNative_Kill(int32_t pid, int32_t signal) { + switch (signal) + { + case PAL_NONE: + signal = 0; + break; + + 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); } diff --git a/src/libraries/Native/Unix/System.Native/pal_process.h b/src/libraries/Native/Unix/System.Native/pal_process.h index 92eaf66..49d5b85 100644 --- a/src/libraries/Native/Unix/System.Native/pal_process.h +++ b/src/libraries/Native/Unix/System.Native/pal_process.h @@ -72,7 +72,9 @@ typedef enum typedef enum { + PAL_NONE = 0, PAL_SIGKILL = 9, /* kill the specified process */ + PAL_SIGSTOP = 19, } Signals; /**