Skip to content

Commit 5b5d332

Browse files
committed
Fake implementation of signal.default_int_handler()
1 parent c575b2d commit 5b5d332

File tree

2 files changed

+12
-0
lines changed

2 files changed

+12
-0
lines changed

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/builtins/modules/SignalModuleBuiltins.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@
5252
import com.oracle.graal.python.builtins.objects.ints.PInt;
5353
import com.oracle.graal.python.nodes.argument.CreateArgumentsNode;
5454
import com.oracle.graal.python.nodes.function.PythonBuiltinBaseNode;
55+
import com.oracle.graal.python.nodes.function.PythonBuiltinNode;
5556
import com.oracle.graal.python.nodes.function.builtins.PythonBinaryBuiltinNode;
5657
import com.oracle.graal.python.nodes.function.builtins.PythonUnaryBuiltinNode;
5758
import com.oracle.graal.python.nodes.truffle.PythonArithmeticTypes;
@@ -132,6 +133,16 @@ Object getsignal(int signum) {
132133
}
133134
}
134135

136+
@Builtin(name = "default_int_handler", minNumOfPositionalArgs = 0, takesVarArgs = true, takesVarKeywordArgs = false)
137+
@GenerateNodeFactory
138+
abstract static class DefaultIntHandlerNode extends PythonBuiltinNode {
139+
@Specialization
140+
Object defaultIntHandler(Object[] args) {
141+
// TODO should be implemented properly.
142+
throw raise(PythonErrorType.KeyboardInterrupt);
143+
}
144+
}
145+
135146
@Builtin(name = "signal", fixedNumOfPositionalArgs = 2)
136147
@GenerateNodeFactory
137148
abstract static class SignalNode extends PythonBinaryBuiltinNode {

graalpython/com.oracle.graal.python/src/com/oracle/graal/python/runtime/exception/PythonErrorType.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ public abstract class PythonErrorType {
4040
public static final PythonBuiltinClassType ImportError = PythonBuiltinClassType.ImportError;
4141
public static final PythonBuiltinClassType ImportWarning = PythonBuiltinClassType.ImportWarning;
4242
public static final PythonBuiltinClassType IndexError = PythonBuiltinClassType.IndexError;
43+
public static final PythonBuiltinClassType KeyboardInterrupt = PythonBuiltinClassType.KeyboardInterrupt;
4344
public static final PythonBuiltinClassType KeyError = PythonBuiltinClassType.KeyError;
4445
public static final PythonBuiltinClassType LookupError = PythonBuiltinClassType.LookupError;
4546
public static final PythonBuiltinClassType MemoryError = PythonBuiltinClassType.MemoryError;

0 commit comments

Comments
 (0)