Date: Sat, 28 Feb 2009 10:10:30 +0000 (UTC) From: Ed Schouten <ed@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r189143 - in head: lib/libc/sys sys/sys Message-ID: <200902281010.n1SAAUhD002205@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ed Date: Sat Feb 28 10:10:30 2009 New Revision: 189143 URL: http://svn.freebsd.org/changeset/base/189143 Log: Add missing POSIX 1003.1-2008 open(2) flag; O_TTY_INIT. On FreeBSD, this is the default behaviour. According to the spec, we may give this flag a value of zero, but I'd rather not do this. If we define it to a non-zero value, we can always change default behaviour without changing the ABI. This is very unlikely to happen, though. Modified: head/lib/libc/sys/open.2 head/sys/sys/fcntl.h Modified: head/lib/libc/sys/open.2 ============================================================================== --- head/lib/libc/sys/open.2 Sat Feb 28 06:39:39 2009 (r189142) +++ head/lib/libc/sys/open.2 Sat Feb 28 10:10:30 2009 (r189143) @@ -28,7 +28,7 @@ .\" @(#)open.2 8.2 (Berkeley) 11/16/93 .\" $FreeBSD$ .\" -.Dd April 10, 2008 +.Dd February 28, 2009 .Dt OPEN 2 .Os .Sh NAME @@ -116,6 +116,7 @@ O_FSYNC synchronous writes O_SYNC synchronous writes O_NOFOLLOW do not follow symlinks O_NOCTTY don't assign controlling terminal +O_TTY_INIT restore default terminal attributes .Ed .Pp Opening a file with @@ -208,6 +209,19 @@ The system call will not assign controlling terminals on .Fx . .Pp +.Dv O_TTY_INIT +may be used to ensure the OS restores the terminal attributes when +initially opening a TTY. +This is the default on +.Fx , +but is present for +.Tn POSIX +compatibility. +The initial call to +.Fn open +on a TTY will always restore default terminal attributes on +.Fx . +.Pp If successful, .Fn open returns a non-negative integer, termed a file descriptor. Modified: head/sys/sys/fcntl.h ============================================================================== --- head/sys/sys/fcntl.h Sat Feb 28 06:39:39 2009 (r189142) +++ head/sys/sys/fcntl.h Sat Feb 28 10:10:30 2009 (r189143) @@ -140,6 +140,11 @@ typedef __pid_t pid_t; #define FEXEC O_EXEC #endif +/* Defined by POSIX 1003.1-2008; BSD default, but reserve for future use. */ +#if __POSIX_VISIBLE >= 200809 +#define O_TTY_INIT 0x00080000 /* Restore default termios attributes */ +#endif + /* * XXX missing O_DSYNC, O_RSYNC. */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200902281010.n1SAAUhD002205>