Skip to content

Commit 11b33aa

Browse files
committed
realtime.in: Format script
1 parent db1ef67 commit 11b33aa

1 file changed

Lines changed: 133 additions & 121 deletions

File tree

scripts/realtime.in

Lines changed: 133 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,17 @@ CheckKernel() {
2626
# Shellcheck doesn't know about substitution
2727
# shellcheck disable=SC2194
2828
case "@KERNEL_VERS@" in
29-
"") ;;
29+
"")
30+
;;
3031
*)
31-
if [ "$(uname -r)" != "@KERNEL_VERS@" ]; then
32-
cat 1>&2 << EOF
32+
if [ "$(uname -r)" != "@KERNEL_VERS@" ]; then
33+
cat 1>&2 << EOF
3334
RTAPI requires the real-time kernel @KERNEL_VERS@ to run. Before running
3435
this realtime application, reboot and choose this kernel at the boot menu.
3536
EOF
36-
exit 1
37-
fi
37+
exit 1
38+
fi
39+
;;
3840
esac
3941
}
4042

@@ -71,8 +73,8 @@ CheckConfig(){
7173
fi
7274
fi
7375
if [ -z "$RTAPICONF" ] ; then
74-
echo "Missing rtapi.conf. Check your installation." 1>&2
75-
exit 1
76+
echo "Missing rtapi.conf. Check your installation." 1>&2
77+
exit 1
7678
fi
7779
INSMOD="@INSMOD@"
7880
RMMOD="@RMMOD@"
@@ -94,7 +96,9 @@ CheckConfig(){
9496
MODULES_LOAD=
9597
MODULES_UNLOAD=
9698
case $RTPREFIX in
97-
uspace) SHM_DEV=/dev/zero;;
99+
uspace)
100+
SHM_DEV=/dev/zero
101+
;;
98102
esac
99103
for MOD in $MODULES ; do
100104
eval MOD=\${MODPATH_"$MOD"}
@@ -108,81 +112,85 @@ CheckConfig(){
108112
MODULES_UNLOAD="$MOD $MODULES_UNLOAD"
109113
done
110114
case $RTPREFIX in
111-
(*rtai*)
112-
MODULES_LOAD="$MODULES_LOAD $RTLIB_DIR/rtapi$MODULE_EXT $RTLIB_DIR/hal_lib$MODULE_EXT"
113-
MODULES_UNLOAD="hal_lib rtapi $MODULES_UNLOAD"
114-
SHM_DEV=/dev/rtai_shm
115-
;;
116-
(*)
117-
MODULES_UNLOAD=
115+
*rtai*)
116+
MODULES_LOAD="$MODULES_LOAD $RTLIB_DIR/rtapi$MODULE_EXT $RTLIB_DIR/hal_lib$MODULE_EXT"
117+
MODULES_UNLOAD="hal_lib rtapi $MODULES_UNLOAD"
118+
SHM_DEV=/dev/rtai_shm
119+
;;
120+
*)
121+
MODULES_UNLOAD=
122+
;;
118123
esac
119124
}
120125

121126
CheckStatus(){
122127
case $RTPREFIX in
123-
uspace)
124-
if [ -z "$($PS -o stat= -o comm= -C rtapi_app | $GREP -v '^Z')" ]; then
125-
echo rtapi_app is not running
126-
return 1
127-
else
128-
echo rtapi_app is running
129-
return 0
130-
fi ;;
131-
*)
132-
# check loaded/unloaded status of modules
133-
unset NOTLOADED
134-
for MOD in $MODULES_UNLOAD ; do
135-
if "$LSMOD" | awk '{print $1}' | $GREP -x "$MOD" >/dev/null ; then
136-
echo "$MOD is loaded"
128+
uspace)
129+
if [ -z "$($PS -o stat= -o comm= -C rtapi_app | $GREP -v '^Z')" ]; then
130+
echo rtapi_app is not running
131+
return 1
137132
else
138-
echo "$MOD is not loaded"
139-
NOTLOADED=NOT
133+
echo rtapi_app is running
134+
return 0
140135
fi
141-
done
142-
if [ -z "$NOTLOADED" ]; then
143-
return 0
144-
else
145-
return 1
146-
fi
136+
;;
137+
*)
138+
# check loaded/unloaded status of modules
139+
unset NOTLOADED
140+
for MOD in $MODULES_UNLOAD ; do
141+
if "$LSMOD" | awk '{print $1}' | $GREP -x "$MOD" >/dev/null ; then
142+
echo "$MOD is loaded"
143+
else
144+
echo "$MOD is not loaded"
145+
NOTLOADED=NOT
146+
fi
147+
done
148+
if [ -z "$NOTLOADED" ]; then
149+
return 0
150+
else
151+
return 1
152+
fi
153+
;;
147154
esac
148155
}
149156

150157
CheckMem(){
151158
# check for user space processes using shared memory
152159
if [ -e /dev/mbuff ] ; then
153-
# device file exists, check for processes using it
154-
if $FUSER -s /dev/mbuff 2>/dev/null; then
155-
# at least one process is using it
156-
echo "ERROR: Can't remove RTLinux modules, kill the following process(es) first"
157-
$FUSER -v /dev/mbuff
158-
exit 1
159-
fi
160+
# device file exists, check for processes using it
161+
if $FUSER -s /dev/mbuff 2>/dev/null; then
162+
# at least one process is using it
163+
echo "ERROR: Can't remove RTLinux modules, kill the following process(es) first"
164+
$FUSER -v /dev/mbuff
165+
exit 1
166+
fi
160167
elif [ -e /dev/rtai_shm ] ; then
161-
# device file exists, check for processes using it
162-
if $FUSER -s /dev/rtai_shm 2>/dev/null; then
163-
# at least one process is using it
164-
echo "ERROR: Can't remove RTAI modules, kill the following process(es) first"
165-
$FUSER -v /dev/rtai_shm
166-
exit 1
167-
fi
168+
# device file exists, check for processes using it
169+
if $FUSER -s /dev/rtai_shm 2>/dev/null; then
170+
# at least one process is using it
171+
echo "ERROR: Can't remove RTAI modules, kill the following process(es) first"
172+
$FUSER -v /dev/rtai_shm
173+
exit 1
174+
fi
168175
fi
169176
}
170177

171178
Load(){
172179
CheckKernel
173180
case $RTPREFIX in
174-
uspace)
175-
rtapi_app start
176-
;;
177-
(*rtai*)
178-
for MOD in $MODULES_LOAD ; do
179-
if ! [ -d "/sys/module/$(basename "$MOD" .ko)" ]; then
180-
$INSMOD "$MOD" || return $?
181-
fi
182-
done
183-
if [ "$DEBUG" != "" ] && [ -w /proc/rtapi/debug ] ; then
184-
echo "$DEBUG" > /proc/rtapi/debug
185-
fi
181+
uspace)
182+
rtapi_app start
183+
;;
184+
*rtai*)
185+
for MOD in $MODULES_LOAD ; do
186+
if ! [ -d "/sys/module/$(basename "$MOD" .ko)" ]; then
187+
$INSMOD "$MOD" || return $?
188+
fi
189+
done
190+
if [ "$DEBUG" != "" ] && [ -w /proc/rtapi/debug ] ; then
191+
echo "$DEBUG" > /proc/rtapi/debug
192+
fi
193+
;;
186194
esac
187195
}
188196

@@ -202,29 +210,32 @@ CheckLoaded(){
202210

203211
Unload(){
204212
CheckKernel
213+
205214
case $RTPREFIX in
206-
uspace)
207-
rtapi_app exit
215+
uspace)
216+
rtapi_app exit
208217

209-
# wait 5 seconds for rtapi_app to die and be reaped by its parent
210-
START=$SECONDS
211-
local NPROCS
212-
while [ 5 -gt $((SECONDS-START)) ]; do
218+
# wait 5 seconds for rtapi_app to die and be reaped by its parent
219+
START=$SECONDS
220+
local NPROCS
221+
while [ 5 -gt $((SECONDS-START)) ]; do
222+
NPROCS=$(ps -C rtapi_app -o stat= -o comm= | $GREP -v '^Z' | wc -l)
223+
if [ "$NPROCS" -eq 0 ]; then
224+
break
225+
fi
226+
sleep 0.1
227+
done
213228
NPROCS=$(ps -C rtapi_app -o stat= -o comm= | $GREP -v '^Z' | wc -l)
214-
if [ "$NPROCS" -eq 0 ]; then
215-
break
229+
if [ "$NPROCS" -gt 0 ]; then
230+
echo "ERROR: rtapi_app failed to die" 1>&2
216231
fi
217-
sleep 0.1
218-
done
219-
NPROCS=$(ps -C rtapi_app -o stat= -o comm= | $GREP -v '^Z' | wc -l)
220-
if [ "$NPROCS" -gt 0 ]; then
221-
echo "ERROR: rtapi_app failed to die" 1>&2
222-
fi
223232

224-
ipcrm -M 0x48414c32 2>/dev/null ;# HAL_KEY
225-
ipcrm -M 0x90280A48 2>/dev/null ;# RTAPI_KEY
226-
ipcrm -M 0x48484c34 2>/dev/null ;# UUID_KEY
233+
ipcrm -M 0x48414c32 2>/dev/null ;# HAL_KEY
234+
ipcrm -M 0x90280A48 2>/dev/null ;# RTAPI_KEY
235+
ipcrm -M 0x48484c34 2>/dev/null ;# UUID_KEY
236+
;;
227237
esac
238+
228239
for module in $MODULES_UNLOAD ; do
229240
$RMMOD "$module"
230241
done
@@ -233,11 +244,12 @@ Unload(){
233244
Verify(){
234245
HAS_REALTIME=false
235246
case $RTPREFIX in
236-
uspace)
237-
rtapi_app check_rt && HAS_REALTIME=true
238-
;;
239-
(*rtai*)
240-
HAS_REALTIME=true
247+
uspace)
248+
rtapi_app check_rt && HAS_REALTIME=true
249+
;;
250+
*rtai*)
251+
HAS_REALTIME=true
252+
;;
241253
esac
242254

243255
if [ $HAS_REALTIME = true ]; then
@@ -253,50 +265,50 @@ CheckUnloaded(){
253265
# checks to see if all modules were unloaded
254266
STATUS=
255267
for module in $MODULES_UNLOAD ; do
256-
# check to see if the module is installed
257-
if "$LSMOD" | awk '{print $1}' | $GREP -x "$module" >/dev/null ; then
258-
echo "ERROR: Could not unload '$module'"
259-
STATUS=error
260-
fi
268+
# check to see if the module is installed
269+
if "$LSMOD" | awk '{print $1}' | $GREP -x "$module" >/dev/null ; then
270+
echo "ERROR: Could not unload '$module'"
271+
STATUS=error
272+
fi
261273
done
262274
if [ -n "$STATUS" ] ; then
263-
exit 1
275+
exit 1
264276
fi
265277
}
266278

267279
CMD=$1
268280

269281
case "$CMD" in
270-
start|load)
271-
CheckConfig
272-
Load || exit $?
273-
CheckLoaded
274-
;;
275-
restart|force-reload)
276-
CheckConfig
277-
CheckMem
278-
Unload
279-
CheckUnloaded
280-
Load || exit $?
281-
CheckLoaded
282-
;;
283-
stop|unload)
284-
CheckConfig
285-
CheckMem
286-
Unload || exit $?
287-
;;
288-
status)
289-
CheckConfig
290-
CheckStatus || exit $?
291-
;;
292-
verify)
293-
CheckConfig
294-
Verify || exit $?
295-
;;
296-
*)
297-
echo "Usage: $0 {start|load|stop|unload|restart|force-reload|status|verify}" >&2
298-
exit 1
299-
;;
282+
start|load)
283+
CheckConfig
284+
Load || exit $?
285+
CheckLoaded
286+
;;
287+
restart|force-reload)
288+
CheckConfig
289+
CheckMem
290+
Unload
291+
CheckUnloaded
292+
Load || exit $?
293+
CheckLoaded
294+
;;
295+
stop|unload)
296+
CheckConfig
297+
CheckMem
298+
Unload || exit $?
299+
;;
300+
status)
301+
CheckConfig
302+
CheckStatus || exit $?
303+
;;
304+
verify)
305+
CheckConfig
306+
Verify || exit $?
307+
;;
308+
*)
309+
echo "Usage: $0 {start|load|stop|unload|restart|force-reload|status|verify}" >&2
310+
exit 1
311+
;;
300312
esac
301313

302314
exit 0

0 commit comments

Comments
 (0)