Small changes to the warning message generated by pty(4):

- Only print the warning once, instead of filling up the screen.
- Use the word "legacy" for the pty_warningcnt description, to prevent
  confusion.
- Use log() instead of printf().

Discussed with:	rwatson, jhb
Approved by:	re (kib)
This commit is contained in:
ed 2009-08-19 14:30:46 +00:00
parent a635b1cc7e
commit c06ca7508d

View File

@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$");
#include <sys/kernel.h>
#include <sys/proc.h>
#include <sys/sysctl.h>
#include <sys/syslog.h>
#include <sys/systm.h>
#include <sys/tty.h>
@ -47,10 +48,10 @@ __FBSDID("$FreeBSD$");
* si_drv1 inside the cdev to mark whether the PTY is in use.
*/
static unsigned int pty_warningcnt = 10;
static unsigned int pty_warningcnt = 1;
SYSCTL_UINT(_kern, OID_AUTO, tty_pty_warningcnt, CTLFLAG_RW,
&pty_warningcnt, 0,
"Warnings that will be triggered upon PTY allocation");
"Warnings that will be triggered upon legacy PTY allocation");
static int
ptydev_fdopen(struct cdev *dev, int fflags, struct thread *td, struct file *fp)
@ -74,7 +75,7 @@ ptydev_fdopen(struct cdev *dev, int fflags, struct thread *td, struct file *fp)
/* Raise a warning when a legacy PTY has been allocated. */
if (pty_warningcnt > 0) {
pty_warningcnt--;
printf("pid %d (%s) is using legacy pty devices%s\n",
log(LOG_INFO, "pid %d (%s) is using legacy pty devices%s\n",
td->td_proc->p_pid, td->td_name,
pty_warningcnt ? "" : " - not logging anymore");
}