summaryrefslogtreecommitdiffstats
path: root/c/src/libnetworking/pppd
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/libnetworking/pppd')
-rw-r--r--c/src/libnetworking/pppd/rtemspppd.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/c/src/libnetworking/pppd/rtemspppd.c b/c/src/libnetworking/pppd/rtemspppd.c
index 0089c01946..1277499205 100644
--- a/c/src/libnetworking/pppd/rtemspppd.c
+++ b/c/src/libnetworking/pppd/rtemspppd.c
@@ -196,11 +196,18 @@ int rtems_pppd_connect(void)
return ( 0 );
}
-int rtems_pppd_disconnect(void)
+static void timeout_terminate(void *arg)
{
/* set pppd global variables to disconnect */
persist = 0;
kill_link = 1;
+}
+
+int rtems_pppd_disconnect(void)
+{
+ /* need to wait a little time before we can bring the link down */
+ /* set up time out in 1 seconds */
+ TIMEOUT(timeout_terminate, NULL, 1);
/* send event to wake up the pppd code */
/* pretend its a serial interrput */