Merge

Tue, 23 Jul 2013 12:50:15 -0700

author
minqi
date
Tue, 23 Jul 2013 12:50:15 -0700
changeset 5435
c0f353803b47
parent 5432
16511b7e3d35
parent 5434
5165d659cebd
child 5441
6efedc114807
child 5450
5ad7f8179bf7

Merge

     1.1 --- a/test/runtime/jsig/Test8017498.sh	Mon Jul 22 17:57:42 2013 -0400
     1.2 +++ b/test/runtime/jsig/Test8017498.sh	Tue Jul 23 12:50:15 2013 -0700
     1.3 @@ -26,8 +26,9 @@
     1.4  ##
     1.5  ## @test Test8017498.sh
     1.6  ## @bug 8017498
     1.7 +## @bug 8020791
     1.8  ## @summary sigaction(sig) results in process hang/timed-out if sig is much greater than SIGRTMAX
     1.9 -## @run shell Test8017498.sh
    1.10 +## @run shell/timeout=30 Test8017498.sh
    1.11  ##
    1.12  
    1.13  if [ "${TESTSRC}" = "" ]
    1.14 @@ -46,17 +47,13 @@
    1.15      echo "Testing on Linux"
    1.16      if [ "$VM_BITS" = "64" ]
    1.17      then
    1.18 -        LD_PRELOAD=${TESTJAVA}${FS}jre${FS}lib${FS}amd64${FS}libjsig.so
    1.19 +        MY_LD_PRELOAD=${TESTJAVA}${FS}jre${FS}lib${FS}amd64${FS}libjsig.so
    1.20      else
    1.21 -        LD_PRELOAD=${TESTJAVA}${FS}jre${FS}lib${FS}i386${FS}libjsig.so
    1.22 +        MY_LD_PRELOAD=${TESTJAVA}${FS}jre${FS}lib${FS}i386${FS}libjsig.so
    1.23      fi
    1.24 -    echo LD_PRELOAD = ${LD_PRELOAD}
    1.25 -    export LD_PRELOAD=${LD_PRELOAD}
    1.26 +    echo MY_LD_PRELOAD = ${MY_LD_PRELOAD}
    1.27      ;;
    1.28    *)
    1.29 -    NULL=NUL
    1.30 -    PS=";"
    1.31 -    FS="\\"
    1.32      echo "Test passed; only valid for Linux"
    1.33      exit 0;
    1.34      ;;
    1.35 @@ -67,29 +64,29 @@
    1.36  cp ${TESTSRC}${FS}*.java ${THIS_DIR}
    1.37  ${TESTJAVA}${FS}bin${FS}javac *.java
    1.38  
    1.39 -gcc -fPIC -shared -o ${TESTSRC}${FS}libTestJNI.so -I${TESTJAVA}${FS}include -I${TESTJAVA}${FS}include${FS}linux ${TESTSRC}${FS}TestJNI.c
    1.40 +gcc -DLINUX -fPIC -shared \
    1.41 +    -o ${TESTSRC}${FS}libTestJNI.so \
    1.42 +    -I${TESTJAVA}${FS}include \
    1.43 +    -I${TESTJAVA}${FS}include${FS}linux \
    1.44 +    ${TESTSRC}${FS}TestJNI.c
    1.45 +if [ $? != 0 ]
    1.46 +then
    1.47 +    echo "WARNING: the gcc command failed." 2>&1
    1.48 +fi
    1.49  
    1.50  # run the java test in the background
    1.51 -echo ${TESTJAVA}${FS}bin${FS}java -Djava.library.path=${TESTSRC}${FS} -server TestJNI 100 > test.out 2>&1 &
    1.52 -${TESTJAVA}${FS}bin${FS}java -Djava.library.path=${TESTSRC}${FS} -server TestJNI 100 > test.out 2>&1 &
    1.53 +cmd="LD_PRELOAD=$MY_LD_PRELOAD \
    1.54 +    ${TESTJAVA}${FS}bin${FS}java \
    1.55 +    -Djava.library.path=${TESTSRC}${FS} -server TestJNI 100"
    1.56 +echo "$cmd > test.out 2>&1"
    1.57 +eval $cmd > test.out 2>&1
    1.58  
    1.59 -# obtain the process id
    1.60 -C_PID=$!
    1.61 -
    1.62 -# sleep for 1s
    1.63 -sleep 1
    1.64 -
    1.65 -# reset LD_PRELOAD
    1.66 -unset LD_PRELOAD
    1.67 -
    1.68 -# check the output file (test.out)
    1.69  grep "old handler" test.out > ${NULL}
    1.70  if [ $? = 0 ]
    1.71  then
    1.72      echo "Test Passed"
    1.73      exit 0
    1.74 -else
    1.75 -    kill -9 ${C_PID}
    1.76 -    echo "Test Failed"
    1.77 -    exit 1
    1.78  fi
    1.79 +
    1.80 +echo "Test Failed"
    1.81 +exit 1
     2.1 --- a/test/runtime/jsig/TestJNI.c	Mon Jul 22 17:57:42 2013 -0400
     2.2 +++ b/test/runtime/jsig/TestJNI.c	Tue Jul 23 12:50:15 2013 -0700
     2.3 @@ -21,9 +21,9 @@
     2.4   * questions.
     2.5   */
     2.6  
     2.7 +#define _GNU_SOURCE // for the definition of REG_RIP in ucontext.h
     2.8  #include <stdio.h>
     2.9  #include <jni.h>
    2.10 -#define __USE_GNU
    2.11  #include <signal.h>
    2.12  #include <sys/ucontext.h>
    2.13  
    2.14 @@ -42,8 +42,6 @@
    2.15  JNIEXPORT void JNICALL Java_TestJNI_doSomething(JNIEnv *env, jclass klass, jint val) {
    2.16      struct sigaction act;
    2.17      struct sigaction oact;
    2.18 -    pthread_attr_t attr;
    2.19 -    stack_t stack;
    2.20  
    2.21      act.sa_flags = SA_ONSTACK|SA_RESTART|SA_SIGINFO;
    2.22      sigfillset(&act.sa_mask);

mercurial