[PATCH 19/21] [terminal] guard open and close against repeated calls

Scott James Remnant scott at ubuntu.com
Wed Mar 17 22:06:11 PDT 2010


Since we have a status flag whether or not the terminal fd is open,
use it in the open and close functions to guard against repeated
calls.
---
 src/libply-splash-core/ply-terminal.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)

diff --git a/src/libply-splash-core/ply-terminal.c b/src/libply-splash-core/ply-terminal.c
index 8f76ff0..6c81a72 100644
--- a/src/libply-splash-core/ply-terminal.c
+++ b/src/libply-splash-core/ply-terminal.c
@@ -436,6 +436,9 @@ ply_terminal_open (ply_terminal_t *terminal)
 {
   assert (terminal != NULL);
 
+  if (terminal->is_open)
+    return true;
+
   ply_trace ("trying to open terminal '%s'", terminal->name);
 
   if (!ply_terminal_open_device (terminal))
@@ -497,6 +500,9 @@ ply_terminal_is_active (ply_terminal_t *terminal)
 void
 ply_terminal_close (ply_terminal_t *terminal)
 {
+  if (!terminal->is_open)
+    return;
+
   terminal->is_open = false;
 
   ply_terminal_stop_watching_for_vt_changes (terminal);
-- 
1.7.0



More information about the plymouth mailing list