diff options
Diffstat (limited to 'recipes-core/ecj/files/ecj.in')
-rwxr-xr-x | recipes-core/ecj/files/ecj.in | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/recipes-core/ecj/files/ecj.in b/recipes-core/ecj/files/ecj.in index 30c3862..e054f24 100755 --- a/recipes-core/ecj/files/ecj.in +++ b/recipes-core/ecj/files/ecj.in | |||
@@ -1,12 +1,18 @@ | |||
1 | error_counter=0; | 1 | error_counter=1 |
2 | error_occured=139 | 2 | error_max=21 |
3 | while [ ${error_counter} -le 50 -a ${error_occured} -eq 139 ]; do | 3 | error_occured=true |
4 | error_number=0 | ||
5 | while [ ${error_counter} -le ${error_max} -a ${error_occured} == true ]; do | ||
4 | ${RUNTIME} -Xmx1024m -cp ${ECJ_JAR} org.eclipse.jdt.internal.compiler.batch.Main ${1+"$@"} | 6 | ${RUNTIME} -Xmx1024m -cp ${ECJ_JAR} org.eclipse.jdt.internal.compiler.batch.Main ${1+"$@"} |
5 | error_occured=$? | 7 | error_number=$? |
6 | if [ ${error_occured} -eq 139 ]; then | 8 | if [ ${error_number} -eq 139 -o ${error_number} -eq 134 ]; then |
7 | echo "ecj crashed - silently trying again" | 9 | echo "ecj crashed ${error_counter} - silently trying again" |
10 | error_occured=true | ||
8 | error_counter=$(( $error_counter + 1 )) | 11 | error_counter=$(( $error_counter + 1 )) |
12 | else | ||
13 | error_occured=false | ||
9 | fi | 14 | fi |
10 | done | 15 | done |
11 | 16 | ||
12 | exit ${error_occured} | 17 | exit ${error_number} |
18 | |||