Mercurial > hg > graal-jvmci-8
comparison src/os/posix/launcher/java_md.c @ 2027:aa6e219afbf1
7006354: Updates to Visual Studio project creation and development launcher
Summary: Updates to Visual Studio project creation and development launcher
Reviewed-by: stefank, coleenp
author | sla |
---|---|
date | Wed, 15 Dec 2010 07:11:31 -0800 |
parents | cb2d0a362639 |
children | e58d06a8037e |
comparison
equal
deleted
inserted
replaced
2025:b03e6b4c7c75 | 2027:aa6e219afbf1 |
---|---|
26 #include "java.h" | 26 #include "java.h" |
27 #include <dirent.h> | 27 #include <dirent.h> |
28 #include <dlfcn.h> | 28 #include <dlfcn.h> |
29 #include <fcntl.h> | 29 #include <fcntl.h> |
30 #include <inttypes.h> | 30 #include <inttypes.h> |
31 #include <stdint.h> | |
31 #include <stdio.h> | 32 #include <stdio.h> |
32 #include <string.h> | 33 #include <string.h> |
33 #include <stdlib.h> | 34 #include <stdlib.h> |
34 #include <limits.h> | 35 #include <limits.h> |
35 #include <sys/stat.h> | 36 #include <sys/stat.h> |
810 } | 811 } |
811 #endif | 812 #endif |
812 | 813 |
813 #ifdef GAMMA | 814 #ifdef GAMMA |
814 { | 815 { |
815 /* gamma launcher uses JAVA_HOME or ALT_JAVA_HOME environment variable to find JDK/JRE */ | 816 /* gamma launcher uses JAVA_HOME environment variable to find JDK/JRE */ |
816 char* java_home_var = getenv("ALT_JAVA_HOME"); | 817 char* java_home_var = getenv("JAVA_HOME"); |
817 if (java_home_var == NULL) { | 818 if (java_home_var == NULL) { |
818 java_home_var = getenv("JAVA_HOME"); | 819 printf("JAVA_HOME must point to a valid JDK/JRE to run gamma\n"); |
819 } | |
820 if (java_home_var == NULL) { | |
821 printf("JAVA_HOME or ALT_JAVA_HOME must point to a valid JDK/JRE to run gamma\n"); | |
822 return JNI_FALSE; | 820 return JNI_FALSE; |
823 } | 821 } |
824 snprintf(buf, bufsize, "%s", java_home_var); | 822 snprintf(buf, bufsize, "%s", java_home_var); |
825 } | 823 } |
826 #else | 824 #else |
1835 } | 1833 } |
1836 | 1834 |
1837 if (pthread_create(&tid, &attr, (void *(*)(void*))continuation, (void*)args) == 0) { | 1835 if (pthread_create(&tid, &attr, (void *(*)(void*))continuation, (void*)args) == 0) { |
1838 void * tmp; | 1836 void * tmp; |
1839 pthread_join(tid, &tmp); | 1837 pthread_join(tid, &tmp); |
1840 rslt = (int)tmp; | 1838 rslt = (int)(intptr_t)tmp; |
1841 } else { | 1839 } else { |
1842 /* | 1840 /* |
1843 * Continue execution in current thread if for some reason (e.g. out of | 1841 * Continue execution in current thread if for some reason (e.g. out of |
1844 * memory/LWP) a new thread can't be created. This will likely fail | 1842 * memory/LWP) a new thread can't be created. This will likely fail |
1845 * later in continuation as JNI_CreateJavaVM needs to create quite a | 1843 * later in continuation as JNI_CreateJavaVM needs to create quite a |
1853 thread_t tid; | 1851 thread_t tid; |
1854 long flags = 0; | 1852 long flags = 0; |
1855 if (thr_create(NULL, stack_size, (void *(*)(void *))continuation, args, flags, &tid) == 0) { | 1853 if (thr_create(NULL, stack_size, (void *(*)(void *))continuation, args, flags, &tid) == 0) { |
1856 void * tmp; | 1854 void * tmp; |
1857 thr_join(tid, NULL, &tmp); | 1855 thr_join(tid, NULL, &tmp); |
1858 rslt = (int)tmp; | 1856 rslt = (int)(intptr_t)tmp; |
1859 } else { | 1857 } else { |
1860 /* See above. Continue in current thread if thr_create() failed */ | 1858 /* See above. Continue in current thread if thr_create() failed */ |
1861 rslt = continuation(args); | 1859 rslt = continuation(args); |
1862 } | 1860 } |
1863 #endif | 1861 #endif |