diff options
Diffstat (limited to 'recipes-core/jamvm/files/java-initial')
| -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} | ||
