Dmitry V. Levin
92e347b556
We do our best to keep copyright headers up to date, yet git history provides better information on this subject and is more accurate than copyright headers.
42 lines
731 B
C
42 lines
731 B
C
/*
|
|
* Copyright (c) 2016-2018 The strace developers.
|
|
* All rights reserved.
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0-or-later
|
|
*/
|
|
|
|
#include "tests.h"
|
|
#include <asm/unistd.h>
|
|
|
|
#ifdef __NR_vhangup
|
|
|
|
# include <stdio.h>
|
|
# include <unistd.h>
|
|
|
|
int
|
|
main(void)
|
|
{
|
|
if (setsid() == -1)
|
|
perror_msg_and_skip("setsid");
|
|
|
|
long rc = syscall(__NR_vhangup);
|
|
|
|
/*
|
|
* On setsid() success, the new session has no controlling terminal,
|
|
* therefore a subsequent vhangup() has nothing to hangup.
|
|
*
|
|
* The system call, however, returns 0 iff the calling process
|
|
* has CAP_SYS_TTY_CONFIG capability.
|
|
*/
|
|
printf("vhangup() = %s\n", sprintrc(rc));
|
|
|
|
puts("+++ exited with 0 +++");
|
|
return 0;
|
|
}
|
|
|
|
#else
|
|
|
|
SKIP_MAIN_UNDEFINED("__NR_vhangup")
|
|
|
|
#endif
|