|
@@ -1081,6 +1081,31 @@ out:
|
|
return ret;
|
|
return ret;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+/**
|
|
|
|
+ * tty_write_message - write a message to a certain tty, not just the console.
|
|
|
|
+ * @tty: the destination tty_struct
|
|
|
|
+ * @msg: the message to write
|
|
|
|
+ *
|
|
|
|
+ * This is used for messages that need to be redirected to a specific tty.
|
|
|
|
+ * We don't put it into the syslog queue right now maybe in the future if
|
|
|
|
+ * really needed.
|
|
|
|
+ *
|
|
|
|
+ * We must still hold the BKL and test the CLOSING flag for the moment.
|
|
|
|
+ */
|
|
|
|
+
|
|
|
|
+void tty_write_message(struct tty_struct *tty, char *msg)
|
|
|
|
+{
|
|
|
|
+ lock_kernel();
|
|
|
|
+ if (tty) {
|
|
|
|
+ mutex_lock(&tty->atomic_write_lock);
|
|
|
|
+ if (tty->ops->write && !test_bit(TTY_CLOSING, &tty->flags))
|
|
|
|
+ tty->ops->write(tty, msg, strlen(msg));
|
|
|
|
+ tty_write_unlock(tty);
|
|
|
|
+ }
|
|
|
|
+ unlock_kernel();
|
|
|
|
+ return;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
|
|
/**
|
|
/**
|
|
* tty_write - write method for tty device file
|
|
* tty_write - write method for tty device file
|