File tree Expand file tree Collapse file tree 1 file changed +56
-0
lines changed
web-image/src/com.oracle.svm.webimage/src/com/oracle/svm/webimage/substitute/system Expand file tree Collapse file tree 1 file changed +56
-0
lines changed Original file line number Diff line number Diff line change 27
27
import com .oracle .svm .core .annotate .Substitute ;
28
28
import com .oracle .svm .core .annotate .TargetClass ;
29
29
import com .oracle .svm .webimage .functionintrinsics .JSFunctionIntrinsics ;
30
+ import jdk .internal .misc .Signal ;
30
31
31
32
@ TargetClass (className = "jdk.internal.misc.VM" )
32
33
@ SuppressWarnings ("unused" )
@@ -56,6 +57,61 @@ public static long getNanoTimeAdjustment(long offsetInSeconds) {
56
57
}
57
58
}
58
59
60
+ @ TargetClass (className = "jdk.internal.misc.Signal" )
61
+ final class Target_jdk_internal_misc_Signal_Web {
62
+
63
+ /**
64
+ * Uses POSIX signal numbers. May be incomplete, extend as necessary.
65
+ * <p>
66
+ * Signals are not supported in Web Image, but instances of {@code Signal} may still exist, so
67
+ * this method must return something.
68
+ * <p>
69
+ * Signal numbers taken from {@code man 7 signal} for the intel architecture.
70
+ */
71
+ @ Substitute
72
+ private static int findSignal0 (String sigName ) {
73
+ return switch (sigName ) {
74
+ case "HUP" -> 1 ;
75
+ case "INT" -> 2 ;
76
+ case "QUIT" -> 3 ;
77
+ case "ILL" -> 4 ;
78
+ case "TRAP" -> 5 ;
79
+ case "ABRT" -> 6 ;
80
+ case "BUS" -> 7 ;
81
+ case "FPE" -> 8 ;
82
+ case "KILL" -> 9 ;
83
+ case "USR1" -> 10 ;
84
+ case "SEGV" -> 11 ;
85
+ case "USR2" -> 12 ;
86
+ case "PIPE" -> 13 ;
87
+ case "ALRM" -> 14 ;
88
+ case "TERM" -> 15 ;
89
+ case "STKFLT" -> 16 ;
90
+ case "CHLD" -> 17 ;
91
+ case "CONT" -> 18 ;
92
+ case "STOP" -> 19 ;
93
+ case "TSTP" -> 20 ;
94
+ case "TTIN" -> 21 ;
95
+ case "TTOU" -> 22 ;
96
+ case "URG" -> 23 ;
97
+ case "XCPU" -> 24 ;
98
+ case "XFSZ" -> 25 ;
99
+ case "VTALRM" -> 26 ;
100
+ case "PROF" -> 27 ;
101
+ case "WINCH" -> 28 ;
102
+ case "IO" -> 29 ;
103
+ case "PWR" -> 30 ;
104
+ case "SYS" -> 31 ;
105
+ default -> -1 ;
106
+ };
107
+ }
108
+
109
+ @ Substitute
110
+ public static synchronized Signal .Handler handle (Signal sig , Signal .Handler handler ) throws IllegalArgumentException {
111
+ throw new IllegalArgumentException ("cannot register signal handles in webimage." );
112
+ }
113
+ }
114
+
59
115
/** Dummy class to have a class with the file's name. */
60
116
public final class WebImageSunMiscSubstitutions {
61
117
}
You can’t perform that action at this time.
0 commit comments