diff options
author | Dag-Erling Smørgrav <des@FreeBSD.org> | 1998-04-16 09:41:55 +0000 |
---|---|---|
committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 1998-04-16 09:41:55 +0000 |
commit | 604d46b6e57793ee5e70670a47b0004ea784d2bd (patch) | |
tree | e1efd3654b4cea7d651705c676c28e2ca4739fd5 | |
parent | b7574f89a4aa5e8e85ea778b804590130b3a010e (diff) | |
download | src-604d46b6e57793ee5e70670a47b0004ea784d2bd.tar.gz src-604d46b6e57793ee5e70670a47b0004ea784d2bd.zip |
Swapped "should we just return" and "should we stop the screensaver"
in scrn_timer() to avoid deadlock with graphical screensavers.
Notes
Notes:
svn path=/head/; revision=35223
-rw-r--r-- | sys/dev/syscons/syscons.c | 19 | ||||
-rw-r--r-- | sys/i386/isa/syscons.c | 19 | ||||
-rw-r--r-- | sys/isa/syscons.c | 19 |
3 files changed, 33 insertions, 24 deletions
diff --git a/sys/dev/syscons/syscons.c b/sys/dev/syscons/syscons.c index 480525c85b03..dd251c6953bb 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.257 1998/04/04 13:24:51 phk Exp $ + * $Id: syscons.c,v 1.258 1998/04/04 16:26:53 yokota Exp $ */ #include "sc.h" @@ -2350,13 +2350,6 @@ scrn_timer(void *arg) scintr(0); } - /* should we just return ? */ - if ((scp->status&UNKNOWN_MODE) || blink_in_progress || switch_in_progress) { - timeout(scrn_timer, NULL, hz / 10); - splx(s); - return; - } - /* should we stop the screen saver? */ getmicroruntime(&tv); if (panicstr) @@ -2364,9 +2357,19 @@ scrn_timer(void *arg) if (tv.tv_sec <= scrn_time_stamp.tv_sec + scrn_blank_time) if (scrn_blanked > 0) stop_scrn_saver(current_saver); + + /* should we just return ? */ + if ((scp->status&UNKNOWN_MODE) || blink_in_progress || switch_in_progress) { + timeout(scrn_timer, NULL, hz / 10); + splx(s); + return; + } + + /* Update the screen */ scp = cur_console; if (scrn_blanked <= 0) scrn_update(scp, TRUE); + /* should we activate the screen saver? */ if ((scrn_blank_time != 0) && (tv.tv_sec > scrn_time_stamp.tv_sec + scrn_blank_time)) diff --git a/sys/i386/isa/syscons.c b/sys/i386/isa/syscons.c index 480525c85b03..dd251c6953bb 100644 --- a/sys/i386/isa/syscons.c +++ b/sys/i386/isa/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.257 1998/04/04 13:24:51 phk Exp $ + * $Id: syscons.c,v 1.258 1998/04/04 16:26:53 yokota Exp $ */ #include "sc.h" @@ -2350,13 +2350,6 @@ scrn_timer(void *arg) scintr(0); } - /* should we just return ? */ - if ((scp->status&UNKNOWN_MODE) || blink_in_progress || switch_in_progress) { - timeout(scrn_timer, NULL, hz / 10); - splx(s); - return; - } - /* should we stop the screen saver? */ getmicroruntime(&tv); if (panicstr) @@ -2364,9 +2357,19 @@ scrn_timer(void *arg) if (tv.tv_sec <= scrn_time_stamp.tv_sec + scrn_blank_time) if (scrn_blanked > 0) stop_scrn_saver(current_saver); + + /* should we just return ? */ + if ((scp->status&UNKNOWN_MODE) || blink_in_progress || switch_in_progress) { + timeout(scrn_timer, NULL, hz / 10); + splx(s); + return; + } + + /* Update the screen */ scp = cur_console; if (scrn_blanked <= 0) scrn_update(scp, TRUE); + /* should we activate the screen saver? */ if ((scrn_blank_time != 0) && (tv.tv_sec > scrn_time_stamp.tv_sec + scrn_blank_time)) diff --git a/sys/isa/syscons.c b/sys/isa/syscons.c index 480525c85b03..dd251c6953bb 100644 --- a/sys/isa/syscons.c +++ b/sys/isa/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.257 1998/04/04 13:24:51 phk Exp $ + * $Id: syscons.c,v 1.258 1998/04/04 16:26:53 yokota Exp $ */ #include "sc.h" @@ -2350,13 +2350,6 @@ scrn_timer(void *arg) scintr(0); } - /* should we just return ? */ - if ((scp->status&UNKNOWN_MODE) || blink_in_progress || switch_in_progress) { - timeout(scrn_timer, NULL, hz / 10); - splx(s); - return; - } - /* should we stop the screen saver? */ getmicroruntime(&tv); if (panicstr) @@ -2364,9 +2357,19 @@ scrn_timer(void *arg) if (tv.tv_sec <= scrn_time_stamp.tv_sec + scrn_blank_time) if (scrn_blanked > 0) stop_scrn_saver(current_saver); + + /* should we just return ? */ + if ((scp->status&UNKNOWN_MODE) || blink_in_progress || switch_in_progress) { + timeout(scrn_timer, NULL, hz / 10); + splx(s); + return; + } + + /* Update the screen */ scp = cur_console; if (scrn_blanked <= 0) scrn_update(scp, TRUE); + /* should we activate the screen saver? */ if ((scrn_blank_time != 0) && (tv.tv_sec > scrn_time_stamp.tv_sec + scrn_blank_time)) |