From: Scott James Remnant Date: Thu, 18 Mar 2010 05:06:11 +0000 (+0000) Subject: [terminal] guard open and close against repeated calls X-Git-Tag: 0.8.0~53^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=faaa215e905baca8b3d2e9deb2fd2a7ef1817648;p=thirdparty%2Fplymouth.git [terminal] guard open and close against repeated calls 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. --- diff --git a/src/libply-splash-core/ply-terminal.c b/src/libply-splash-core/ply-terminal.c index aeb6159b..4b4b2871 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);