svn commit: r304166 - head/sys/dev/syscons

Bruce Evans bde at FreeBSD.org
Mon Aug 15 17:11:07 UTC 2016


Author: bde
Date: Mon Aug 15 17:11:05 2016
New Revision: 304166
URL: https://svnweb.freebsd.org/changeset/base/304166

Log:
  [Oops, the previous commit was missing the update to syscons.h.]
  
  Like scr_lock, the grab count needs to be per-physical-device to work.
  
  This bug corrupted the grab count on both vtys if the ungrabbed vty is
  different from the console, and failed to restore the keyboard state
  on the ungrabbed vty, but not restoring it usually left the keyboard
  mode part of the keyboard state uncorrupted at 1 (K_XLATE), while
  after this fix the keyboard mode part is usually corrupted to 0 (K_RAW).
  
  While here, rename the grab count from grabbed to grab_level.

Modified:
  head/sys/dev/syscons/syscons.h

Modified: head/sys/dev/syscons/syscons.h
==============================================================================
--- head/sys/dev/syscons/syscons.h	Mon Aug 15 17:08:25 2016	(r304165)
+++ head/sys/dev/syscons/syscons.h	Mon Aug 15 17:11:05 2016	(r304166)
@@ -230,6 +230,7 @@ typedef struct sc_softc {
 	char        	switch_in_progress;
 	char        	write_in_progress;
 	char        	blink_in_progress;
+	int		grab_level;
 	struct mtx	scr_lock;		/* mutex for sc_puts() */
 	struct mtx	video_mtx;
 
@@ -304,7 +305,6 @@ typedef struct scr_stat {
 	void		*ts;
 
 	int	 	status;			/* status (bitfield) */
-	int		grabbed;
 	int		kbd_mode;		/* keyboard I/O mode */
 	int		kbd_prev_mode;		/* keyboard I/O mode */
 


More information about the svn-src-all mailing list