From 8d2c98ca607b53b6ab1557ff207e408da81bae47 Mon Sep 17 00:00:00 2001 From: Sanne Grinovero Date: Tue, 19 Mar 2019 18:03:48 +0000 Subject: [PATCH] Allow disabling SO_LINGER on java.net.Socket --- .../oracle/svm/core/posix/PosixJavaNetSubstitutions.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/PosixJavaNetSubstitutions.java b/substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/PosixJavaNetSubstitutions.java index 05c5ad4bcf30..e7a5809dfec5 100644 --- a/substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/PosixJavaNetSubstitutions.java +++ b/substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/PosixJavaNetSubstitutions.java @@ -5636,8 +5636,6 @@ void socketSetOption(int cmd, boolean on, Object value) throws SocketException { case SocketOptions.SO_LINGER: case SocketOptions.IP_TOS: { - /* Accessing values of java.lang.Integer the easy way. */ - Integer valueInteger = (Integer) value; // 934 jclass cls; // 935 jfieldID fid; // 936 @@ -5653,7 +5651,8 @@ void socketSetOption(int cmd, boolean on, Object value) throws SocketException { // 944 optval.ling.l_onoff = 1; ((Socket.linger) optval_Pointer).set_l_onoff(1); // 945 optval.ling.l_linger = (*env)->GetIntField(env, value, fid); - ((Socket.linger) optval_Pointer).set_l_linger(valueInteger.intValue()); + int valueAsInt = ((Integer)value).intValue(); + ((Socket.linger) optval_Pointer).set_l_linger(valueAsInt); } else { // 947 optval.ling.l_onoff = 0; ((Socket.linger) optval_Pointer).set_l_onoff(0); @@ -5666,7 +5665,8 @@ void socketSetOption(int cmd, boolean on, Object value) throws SocketException { LibC.memcpy(optval_Pointer, optval_Pointer, WordFactory.unsigned(optlen)); } else { // 952 optval.i = (*env)->GetIntField(env, value, fid); - ((CIntPointer) optval_Pointer).write(valueInteger.intValue()); + int valueAsInt = ((Integer)value).intValue(); + ((CIntPointer) optval_Pointer).write(valueAsInt); // 953 optlen = sizeof(optval.i); optlen = SizeOf.get(CIntPointer.class); /* Copy to optval. */