diff options
| author | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-06-23 17:34:44 +0300 |
|---|---|---|
| committer | Denys Fedoryshchenko <denys.f@collabora.com> | 2026-06-23 17:36:34 +0300 |
| commit | af89a0a59765abb4a74b680aa7fe8c1b75488221 (patch) | |
| tree | 5d7b702f9f4f007d58964002c9dff41e55df8f82 | |
| parent | 3004db8bb2f3f867d521f2378a2c1df72412be24 (diff) | |
| download | accel-ppp-af89a0a59765abb4a74b680aa7fe8c1b75488221.tar.gz accel-ppp-af89a0a59765abb4a74b680aa7fe8c1b75488221.zip | |
sstp: drain PPP write queue before deferring
| -rw-r--r-- | accel-pppd/ctrl/sstp/sstp.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/accel-pppd/ctrl/sstp/sstp.c b/accel-pppd/ctrl/sstp/sstp.c index 154afcf8..6c2b9ca9 100644 --- a/accel-pppd/ctrl/sstp/sstp.c +++ b/accel-pppd/ctrl/sstp/sstp.c @@ -1240,7 +1240,7 @@ static int ppp_write(struct triton_md_handler_t *h) ssize_t n; int i; - if (!list_empty(&conn->ppp_queue)) { + while (!list_empty(&conn->ppp_queue)) { i = n = 0; list_for_each_entry(buf, &conn->ppp_queue, entry) { if (i < PPP_BUF_IOVEC && n < PPP_BUF_SIZE) { @@ -1272,9 +1272,6 @@ static int ppp_write(struct triton_md_handler_t *h) list_del(&buf->entry); free_buf(buf); } while (n > 0); - - if (!list_empty(&conn->ppp_queue)) - goto defer; } triton_md_disable_handler(h, MD_MODE_WRITE); return 0; |
