Allow O_CLOEXEC in posix_openpt() flags.

PR:		kern/162374
Reviewed by:	ed
This commit is contained in:
Jilles Tjoelker 2013-03-21 21:39:15 +00:00
parent d52d7aa871
commit 46f10cc265
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=248593
2 changed files with 9 additions and 4 deletions

View File

@ -37,7 +37,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd August 20, 2008
.Dd March 21, 2013
.Dt POSIX_OPENPT 2
.Os
.Sh NAME
@ -71,7 +71,7 @@ Values for
are constructed by a bitwise-inclusive OR of flags from the following
list, defined in
.In fcntl.h :
.Bl -tag -width ".Dv O_NOCTTY"
.Bl -tag -width ".Dv O_CLOEXEC"
.It Dv O_RDWR
Open for reading and writing.
.It Dv O_NOCTTY
@ -79,6 +79,8 @@ If set
.Fn posix_openpt
shall not cause the terminal device to become the controlling terminal
for the process.
.It Dv O_CLOEXEC
Set the close-on-exec flag for the new file descriptor.
.El
.Pp
The
@ -116,6 +118,9 @@ The
.Fn posix_openpt
function conforms to
.St -p1003.1-2001 .
The ability to use
.Dv O_CLOEXEC
is an extension to the standard.
.Sh HISTORY
The
.Fn posix_openpt

View File

@ -825,10 +825,10 @@ sys_posix_openpt(struct thread *td, struct posix_openpt_args *uap)
* POSIX states it's unspecified when other flags are passed. We
* don't allow this.
*/
if (uap->flags & ~(O_RDWR|O_NOCTTY))
if (uap->flags & ~(O_RDWR|O_NOCTTY|O_CLOEXEC))
return (EINVAL);
error = falloc(td, &fp, &fd, 0);
error = falloc(td, &fp, &fd, uap->flags);
if (error)
return (error);