Skip site navigation (1)Skip section navigation (2)
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>