Fix memory leak when a child exits without wait()-ed

Change-Id: I8ad9e20e3f3e6f406548a6c4de2bf4dc07c40b0e
Refs: #1349
This commit is contained in:
TOIDA,Suguru
2019-10-03 16:00:09 +09:00
committed by Masamichi Takagi
parent 1d1ec39a27
commit b3cbdeec84
6 changed files with 364 additions and 3 deletions

29
test/issues/1349/run.sh Normal file
View File

@@ -0,0 +1,29 @@
#!/bin/bash
# run.sh COPYRIGHT FUJITSU LIMITED 2020
test_dir=$(dirname "${BASH_SOURCE[0]}")
. "${test_dir}/../../common.sh"
# init
meminfo="/sys/devices/virtual/mcos/mcos0/sys/devices/system/node/node0/meminfo"
"${MCEXEC}" 0 ./do_fork6 -nt 1 -t $((1000 * 10)) -mode-wait
sleep 1
exp_free_mem=`cat "$meminfo" | grep MemFree:`
# run
"${MCEXEC}" 0 ./do_fork6 -nt 1 -t $((1000 * 10)) -mode-wait
sleep 1
free_mem=`cat "$meminfo" | grep MemFree:`
if [ "$exp_free_mem" != "$free_mem" ]; then
echo "NG: detected memory leak."
exit -1
fi
"${MCEXEC}" 0 ./do_fork6 -nt 1 -t $((1000 * 10)) -mode-exit
sleep 1
free_mem=`cat "$meminfo" | grep MemFree:`
if [ "$exp_free_mem" != "$free_mem" ]; then
echo "NG: detected memory leak."
exit -1
fi
echo "OK"