Skip to content

Commit d9c6e9e

Browse files
authored
Check if the main thread was interrupted (#413)
1 parent b9942ea commit d9c6e9e

File tree

1 file changed

+6
-4
lines changed
  • aws-lambda-java-runtime-interface-client/src/main/java/com/amazonaws/services/lambda/runtime/api/client

1 file changed

+6
-4
lines changed

aws-lambda-java-runtime-interface-client/src/main/java/com/amazonaws/services/lambda/runtime/api/client/AWSLambda.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ private static LambdaRequestHandler findRequestHandler(final String handlerStrin
132132
}
133133

134134
public static void setupRuntimeLogger(LambdaLogger lambdaLogger)
135-
throws ClassNotFoundException, IllegalAccessException, NoSuchFieldException {
135+
throws ClassNotFoundException {
136136
ReflectUtil.setStaticField(
137137
Class.forName("com.amazonaws.services.lambda.runtime.LambdaRuntime"),
138138
"logger",
@@ -158,9 +158,9 @@ public static String getEnvOrExit(String envVariableName) {
158158
private static FileDescriptor intToFd(int fd) throws RuntimeException {
159159
try {
160160
Class<FileDescriptor> clazz = FileDescriptor.class;
161-
Constructor<FileDescriptor> c = clazz.getDeclaredConstructor(new Class<?>[]{Integer.TYPE});
161+
Constructor<FileDescriptor> c = clazz.getDeclaredConstructor(Integer.TYPE);
162162
c.setAccessible(true);
163-
return c.newInstance(new Integer(fd));
163+
return c.newInstance(fd);
164164
} catch (Exception e) {
165165
throw new RuntimeException(e);
166166
}
@@ -237,8 +237,10 @@ private static void startRuntime(String handler, LambdaLogger lambdaLogger) thro
237237
ByteArrayOutputStream payload;
238238
try {
239239
payload = requestHandler.call(request);
240-
// TODO calling payload.toByteArray() creates a new copy of the underlying buffer
241240
runtimeClient.postInvocationResponse(request.getId(), payload.toByteArray());
241+
if (Thread.currentThread().isInterrupted()) {
242+
shouldExit = true;
243+
}
242244
} catch (UserFault f) {
243245
userFault = f;
244246
UserFault.filterStackTrace(f);

0 commit comments

Comments
 (0)