glusterfs
1#!/bin/bash
2
3# Make sure this only gets included/executed once. Unfortunately, bash doesn't
4# usually distinguish between values that are unset and values that are null.
5# To work around that, we declare TRAPFUNCS to be a one-element array right at
6# the start, but that one element is : which is defined to do nothing.
7
8if [ ${#TRAPFUNCS[@]} = 0 ]; then9TRAPFUNCS=(:)10
11push_trapfunc () {12TRAPFUNCS[${#TRAPFUNCS[@]}]="$@"13}14
15execute_trapfuncs () {16for i in "${TRAPFUNCS[@]}"; do17$i18done19}20
21trap execute_trapfuncs EXIT22fi
23