• Shaopeng Tan's avatar
    selftests/resctrl: Cleanup properly when an error occurs in CAT test · 39e34ddc
    Shaopeng Tan authored
    After creating a child process with fork() in CAT test, if an error
    occurs when parent process runs cat_val() or check_results(), the child
    process will not be killed and also resctrlfs is not unmounted. Also if
    an error occurs when child process runs cat_val() or check_results(),
    the parent process will wait for the pipe message from the child process
    which will never be sent by the child process and the parent process
    cannot proceed to unmount resctrlfs.
    
    Synchronize the exits between the parent and child. An error could
    occur whether in parent process or child process. The parent process
    always kills the child process and runs umount_resctrlfs(). The
    child process always waits to be killed by the parent process.
    Reviewed-by: default avatarReinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: default avatarShaopeng Tan <tan.shaopeng@jp.fujitsu.com>
    Signed-off-by: default avatarShuah Khan <skhan@linuxfoundation.org>
    39e34ddc
cat_test.c 4.97 KB