author | "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> |
Mon Jul 14 21:21:35 2008 +0000 (2008-07-14) | |
changeset 666 | 7f414d045a37 |
child 686 | dd364fef67b4 |
permissions | -rw-r--r-- |
yann@635 | 1 |
#!/bin/sh |
yann@635 | 2 |
# (C) 2008 Yann E. MORIN <yann.morin.1998@anciens.enib.fr> |
yann@635 | 3 |
# Licensed under the GPL v.2 |
yann@635 | 4 |
|
yann@635 | 5 |
LIBDUMA_SO= |
yann@635 | 6 |
|
yann@635 | 7 |
case "$1" in |
yann@635 | 8 |
-on) |
yann@635 | 9 |
case "${LD_PRELOAD}" in |
yann@635 | 10 |
*${LIBDUMA_SO}*) ;; |
yann@635 | 11 |
*) LD_PRELOAD="${LIBDUMA_SO} ${LD_PRELOAD}";; |
yann@635 | 12 |
esac |
yann@635 | 13 |
shift |
yann@635 | 14 |
;; |
yann@635 | 15 |
-off) |
yann@635 | 16 |
LD_PRELOAD="${LD_PRELOAD//${LIBDUMA_SO}/}" |
yann@635 | 17 |
shift |
yann@635 | 18 |
;; |
yann@635 | 19 |
-show) |
yann@635 | 20 |
case "${LD_PRELOAD}" in |
yann@635 | 21 |
*${LIBDUMA_SO}*) echo "duma is enabled";; |
yann@635 | 22 |
*) echo "duma is disabled";; |
yann@635 | 23 |
esac |
yann@635 | 24 |
exit 0 |
yann@635 | 25 |
;; |
yann@635 | 26 |
"") |
yann@635 | 27 |
cat <<_EOF_ |
yann@635 | 28 |
Usage: |
yann@635 | 29 |
. $0 <-on|-off|-show> |
yann@635 | 30 |
Sets, unsets or show DUMA usage. |
yann@635 | 31 |
$0 <executable [arg...]> |
yann@635 | 32 |
Execute 'executable' (with arguments 'args') using DUMA. |
yann@635 | 33 |
_EOF_ |
yann@635 | 34 |
false # Don't 'exit', we could well be source'd |
yann@635 | 35 |
;; |
yann@635 | 36 |
*) |
yann@635 | 37 |
exec "$0" -on "$@" |
yann@635 | 38 |
;; |
yann@635 | 39 |
esac |
yann@635 | 40 |
|
yann@635 | 41 |
export LD_PRELOAD |
yann@635 | 42 |
if [ -n "$1" ]; then |
yann@635 | 43 |
exec "$@" |
yann@635 | 44 |
fi |