aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/syscons
diff options
context:
space:
mode:
authorKazutaka YOKOTA <yokota@FreeBSD.org>1998-11-03 02:37:46 +0000
committerKazutaka YOKOTA <yokota@FreeBSD.org>1998-11-03 02:37:46 +0000
commit58541533dd70f88309f214fef493dca646b0aa8f (patch)
tree973060f969f906560a1af9c7dab4cc937a1ea46c /sys/dev/syscons
parentddfd18e255cd2b33882c142869078a760b37f82e (diff)
downloadsrc-58541533dd70f88309f214fef493dca646b0aa8f.tar.gz
src-58541533dd70f88309f214fef493dca646b0aa8f.zip
Don't update the screen while the cursor shape is being changed
by the user-land program. PR: i386/8344
Notes
Notes: svn path=/head/; revision=40836
Diffstat (limited to 'sys/dev/syscons')
-rw-r--r--sys/dev/syscons/syscons.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c
index caf072af7188..d4178e88306d 100644
--- a/sys/dev/syscons/syscons.c
+++ b/sys/dev/syscons/syscons.c
@@ -25,7 +25,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: syscons.c,v 1.284 1998/10/01 21:04:52 ache Exp $
+ * $Id: syscons.c,v 1.285 1998/10/22 05:58:40 bde Exp $
*/
#include "sc.h"
@@ -978,10 +978,12 @@ scioctl(dev_t dev, u_long cmd, caddr_t data, int flag, struct proc *p)
* are affected. Update the cursor in the current console...
*/
if (!ISGRAPHSC(cur_console)) {
+ s = spltty();
remove_cursor_image(cur_console);
if (sc_flags & CHAR_CURSOR)
set_destructive_cursor(cur_console);
draw_cursor_image(cur_console);
+ splx(s);
}
return 0;
@@ -2820,10 +2822,12 @@ scan_esc(scr_stat *scp, u_char c)
* are affected. Update the cursor in the current console...
*/
if (!ISGRAPHSC(cur_console)) {
+ i = spltty();
remove_cursor_image(cur_console);
if (sc_flags & CHAR_CURSOR)
set_destructive_cursor(cur_console);
draw_cursor_image(cur_console);
+ splx(i);
}
break;