Clear hungup in start_link() instead of connect_tty()
authorPaul Mackerras <paulus@samba.org>
Tue, 1 Jul 2008 12:27:56 +0000 (12:27 +0000)
committerPaul Mackerras <paulus@samba.org>
Tue, 1 Jul 2008 12:27:56 +0000 (12:27 +0000)
Since hungup gets set in get_input(), which is generic, but only
cleared in connect_tty(), which is specific to the tty channel type,
other channel types were showing various problems on the second and
subsequent connections when the persist option was used.  This fixes
it by clearing hungup in start_link() rather than connect_tty().

pppd/auth.c
pppd/tty.c

index f615fd3ac11f94fc46a13b4008fa3f77ab694c08..fb719446f7489895f0b51081c99b99c8221fd210 100644 (file)
@@ -68,7 +68,7 @@
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-#define RCSID  "$Id: auth.c,v 1.116 2008/06/25 10:30:36 paulus Exp $"
+#define RCSID  "$Id: auth.c,v 1.117 2008/07/01 12:27:56 paulus Exp $"
 
 #include <stdio.h>
 #include <stddef.h>
@@ -557,6 +557,7 @@ void start_link(unit)
 
     new_phase(PHASE_SERIALCONN);
 
+    hungup = 0;
     devfd = the_channel->connect();
     msg = "Connect script failed";
     if (devfd < 0)
index a9832d918d076a0bd8634091d9086269c353de1f..d571b111d7e34755d9304104c075dcbcc16f4e44 100644 (file)
@@ -68,7 +68,7 @@
  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
 
-#define RCSID  "$Id: tty.c,v 1.26 2008/06/23 11:44:06 paulus Exp $"
+#define RCSID  "$Id: tty.c,v 1.27 2008/07/01 12:27:56 paulus Exp $"
 
 #include <stdio.h>
 #include <ctype.h>
@@ -554,7 +554,6 @@ int connect_tty()
         * out and we want to use the modem lines, we reopen it later
         * in order to wait for the carrier detect signal from the modem.
         */
-       hungup = 0;
        got_sigterm = 0;
        connector = doing_callback? callback_script: connect_script;
        if (devnam[0] != 0) {