Page MenuHomeFreeBSD

D29544.id86756.diff
No OneTemporary

D29544.id86756.diff

diff --git a/sys/kern/subr_sbuf.c b/sys/kern/subr_sbuf.c
--- a/sys/kern/subr_sbuf.c
+++ b/sys/kern/subr_sbuf.c
@@ -388,8 +388,12 @@
{
int len;
- KASSERT(s->s_len > 0, ("Shouldn't drain empty sbuf %p", s));
- KASSERT(s->s_error == 0, ("Called %s with error on %p", __func__, s));
+ /*
+ * Immediately return when no work to do,
+ * or an error has already been accumulated.
+ */
+ if ((s->s_len == 0) || (s->s_error != 0))
+ return(s->s_error);
if (SBUF_DODRAINTOEOR(s) && s->s_rec_off == 0)
return (s->s_error = EDEADLK);

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 12, 5:39 PM (6 h, 11 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
23633382
Default Alt Text
D29544.id86756.diff (539 B)

Event Timeline