Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Oct 2014 15:39:25 +0000 (UTC)
From:      Neel Natu <neel@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-releng@freebsd.org
Subject:   svn commit: r272752 - releng/10.1/sys/kern
Message-ID:  <201410081539.s98FdPQo052864@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: neel
Date: Wed Oct  8 15:39:24 2014
New Revision: 272752
URL: https://svnweb.freebsd.org/changeset/base/272752

Log:
  MFC r272270:
  
  tty_rel_free() can be called more than once for the same tty so make sure
  that the tty is dequeued from 'tty_list' only the first time.
  
  Approved by:	re (glebius)

Modified:
  releng/10.1/sys/kern/tty.c
Directory Properties:
  releng/10.1/   (props changed)

Modified: releng/10.1/sys/kern/tty.c
==============================================================================
--- releng/10.1/sys/kern/tty.c	Wed Oct  8 15:30:59 2014	(r272751)
+++ releng/10.1/sys/kern/tty.c	Wed Oct  8 15:39:24 2014	(r272752)
@@ -1055,13 +1055,13 @@ tty_rel_free(struct tty *tp)
 	tp->t_dev = NULL;
 	tty_unlock(tp);
 
-	sx_xlock(&tty_list_sx);
-	TAILQ_REMOVE(&tty_list, tp, t_list);
-	tty_list_count--;
-	sx_xunlock(&tty_list_sx);
-
-	if (dev != NULL)
+	if (dev != NULL) {
+		sx_xlock(&tty_list_sx);
+		TAILQ_REMOVE(&tty_list, tp, t_list);
+		tty_list_count--;
+		sx_xunlock(&tty_list_sx);
 		destroy_dev_sched_cb(dev, tty_dealloc, tp);
+	}
 }
 
 void



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201410081539.s98FdPQo052864>