svn commit: r202779 - head/lib/libc/gen

Ed Schouten ed at FreeBSD.org
Fri Jan 22 05:09:10 UTC 2010


Author: ed
Date: Fri Jan 22 05:09:10 2010
New Revision: 202779
URL: http://svn.freebsd.org/changeset/base/202779

Log:
  Describe why pututxline() doesn't entirely conform to standards.

Modified:
  head/lib/libc/gen/getutxent.3

Modified: head/lib/libc/gen/getutxent.3
==============================================================================
--- head/lib/libc/gen/getutxent.3	Fri Jan 22 04:53:08 2010	(r202778)
+++ head/lib/libc/gen/getutxent.3	Fri Jan 22 05:09:10 2010	(r202779)
@@ -414,14 +414,32 @@ The
 .Fn endutxent ,
 .Fn getutxent ,
 .Fn getutxid ,
-.Fn getutxline ,
-.Fn pututxline
+.Fn getutxline
 and
 .Fn setutxent
 functions are expected to conform to
 .St -p1003.1-2008 .
 .Pp
 The
+.Fn pututxline
+function deviates from the standard by writing its records to multiple
+database files, depending on its
+.Fa ut_type .
+This prevents the need for special utility functions to update the other
+databases, such as the
+.Fn updwtmpx
+function which is often available in other implementations.
+It also tries to replace
+.Dv DEAD_PROCESS
+entries in the active sessions database when storing
+.Dv USER_PROCESS
+entries and no entry with the same value for
+.Fa ut_id
+has been found.
+The standard always requires a new entry to be allocated, which could
+cause an unbounded growth to the database.
+.Pp
+The
 .Fn getutxuser
 and
 .Fn setutxdb


More information about the svn-src-all mailing list