diff options
Diffstat (limited to 'recipes-core/jamvm/files')
-rwxr-xr-x | recipes-core/jamvm/files/java-initial | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/recipes-core/jamvm/files/java-initial b/recipes-core/jamvm/files/java-initial new file mode 100755 index 0000000..1b27f81 --- /dev/null +++ b/recipes-core/jamvm/files/java-initial | |||
@@ -0,0 +1,17 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # Wrapper which (almost) silently restarts the VM in case of segfaults. | ||
4 | |||
5 | error_counter=0; | ||
6 | error_occured=139 | ||
7 | while [ ${error_counter} -le 50 -a ${error_occured} -eq 139 ]; do | ||
8 | echo "Running JamVM-initial: ${@}" | ||
9 | jamvm-initial ${1+"$@"} | ||
10 | error_occured=$? | ||
11 | if [ ${error_occured} -eq 139 ]; then | ||
12 | echo "JamVM-initial crashed - silently trying again" | ||
13 | error_counter=$(( $error_counter + 1 )) | ||
14 | fi | ||
15 | done | ||
16 | |||
17 | exit ${error_occured} | ||