Date: Wed, 13 Jan 2010 17:58:49 +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: r202194 - head/sbin/init Message-ID: <201001131758.o0DHwnkK080014@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: ed Date: Wed Jan 13 17:58:49 2010 New Revision: 202194 URL: http://svn.freebsd.org/changeset/base/202194 Log: Migrate init(8) towards utmpx. According to a comment, we cannot safely remove utmpx entries here anymore. This is because the libc routines may block on file locking. In an ideal world login(1) should just remove the entries, which is why I'm disabling this code for now. If it turns out we get lots of stale entries here, we should figure out a way to deal with that. Modified: head/sbin/init/Makefile head/sbin/init/init.c Modified: head/sbin/init/Makefile ============================================================================== --- head/sbin/init/Makefile Wed Jan 13 17:56:54 2010 (r202193) +++ head/sbin/init/Makefile Wed Jan 13 17:58:49 2010 (r202194) @@ -6,8 +6,8 @@ MAN= init.8 PRECIOUSPROG= INSTALLFLAGS=-b -B.bak CFLAGS+=-DDEBUGSHELL -DSECURE -DLOGIN_CAP -DCOMPAT_SYSV_INIT -DPADD= ${LIBUTIL} ${LIBULOG} ${LIBCRYPT} -LDADD= -lutil -lulog -lcrypt +DPADD= ${LIBUTIL} ${LIBCRYPT} +LDADD= -lutil -lcrypt NO_SHARED?= YES Modified: head/sbin/init/init.c ============================================================================== --- head/sbin/init/init.c Wed Jan 13 17:56:54 2010 (r202193) +++ head/sbin/init/init.c Wed Jan 13 17:58:49 2010 (r202194) @@ -65,9 +65,9 @@ static const char rcsid[] = #include <syslog.h> #include <time.h> #include <ttyent.h> -#define _ULOG_POSIX_NAMES #include <ulog.h> #include <unistd.h> +#include <utmpx.h> #include <sys/reboot.h> #include <err.h> @@ -569,10 +569,13 @@ transition(state_t s) * NB: should send a message to the session logger to avoid blocking. */ static void -clear_session_logs(session_t *sp) +clear_session_logs(session_t *sp __unused) { - ulog_logout(sp->se_device); + /* + * XXX: Use getutxline() and call pututxline() for each entry. + * Is this safe to do this here? Is it really required anyway? + */ } /*
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001131758.o0DHwnkK080014>