- Timestamp:
- Nov 22, 2022 1:02:48 AM (23 months ago)
- Location:
- trunk
- Files:
-
- 1 added
- 4 edited
-
include/iprt/mangling.h (modified) (1 diff)
-
include/iprt/process.h (modified) (1 diff)
-
src/VBox/Runtime/Makefile.kmk (modified) (1 diff)
-
src/VBox/Runtime/generic/RTProcSignalName-generic.cpp (added)
-
src/VBox/Runtime/testcase/tstRTProcWait.cpp (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/iprt/mangling.h
r96864 r97646 1852 1852 # define RTProcSetPriority RT_MANGLER(RTProcSetPriority) 1853 1853 # define RTProcShortName RT_MANGLER(RTProcShortName) 1854 # define RTProcSignalName RT_MANGLER(RTProcSignalName) 1854 1855 # define RTProcTerminate RT_MANGLER(RTProcTerminate) 1855 1856 # define RTProcWait RT_MANGLER(RTProcWait) -
trunk/include/iprt/process.h
r96407 r97646 115 115 #endif 116 116 117 118 /** 119 * Translate a signal number to a short name on the form SIGXXXX. 120 * 121 * If the signal is not known, it will be formatted as a number into one of 122 * several static buffers. This means that there could be concurrency issues if 123 * this suddenly happens on multiple threads, though that is unlikely. 124 * 125 * @returns Readonly string naming the signal. 126 * @param iSignal The signal to name. 127 */ 128 RTDECL(const char *) RTProcSignalName(int iSignal); 117 129 118 130 #ifdef IN_RING3 -
trunk/src/VBox/Runtime/Makefile.kmk
r96925 r97646 780 780 generic/RTPathGetCurrentDrive-generic.cpp \ 781 781 generic/RTPathIsSame-generic.cpp \ 782 generic/RTProcSignalName-generic.cpp \ 782 783 generic/RTTimerLRCreate-generic.cpp \ 783 784 generic/rtStrFormatKernelAddress-generic.cpp \ -
trunk/src/VBox/Runtime/testcase/tstRTProcWait.cpp
r96407 r97646 68 68 69 69 70 static int DisplaySignalList(void) 71 { 72 for (int iSig = 0; iSig < 128; iSig++) 73 RTPrintf("%4d: %s\n", iSig, RTProcSignalName(iSig)); 74 return 0; 75 } 76 77 70 78 int main(int argc, char **argv) 71 79 { … … 73 81 if (argc == 2 && !strcmp(argv[1], "child")) 74 82 return 42; 83 if (argc == 2 && !strcmp(argv[1], "signal-list")) 84 return DisplaySignalList(); 75 85 76 86 RTPrintf("tstRTWait: spawning a child in a separate thread and waits for it in the main thread...\n"); … … 113 123 RTPrintf("tstRTWait: RTThreadCreate failed with rc=%Rrc!\n", rc); 114 124 125 /* 126 * Check signal names while we're here (excuse: relevant to reporting wait results). 127 */ 128 for (int iSig = 0; iSig < 256; iSig++) 129 { 130 const char *pszSig = RTProcSignalName(iSig); 131 if (!RTStrStartsWith(pszSig, "SIG") || pszSig[3] == '\0') 132 { 133 RTPrintf("tstWait: error: RTProcSignalName(%d) -> '%s'\n", iSig, pszSig); 134 rc = -1; 135 } 136 } 137 115 138 return RT_SUCCESS(rc) ? 0 : 1; 116 139 }
Note:
See TracChangeset
for help on using the changeset viewer.

