Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 31 Oct 1995 12:19:16 -0800
From:      David Greenman <davidg@Root.COM>
To:        Peter Wemm <peter@freefall.freebsd.org>
Cc:        CVS-commiters@freefall.freebsd.org, cvs-sys@freefall.freebsd.org
Subject:   Re: cvs commit: src/sys/kern tty_subr.c 
Message-ID:  <199510312019.MAA09861@corbin.Root.COM>
In-Reply-To: Your message of "Tue, 31 Oct 95 11:00:06 PST." <199510311900.LAA17702@freefall.freebsd.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
>hsu         95/10/31 11:00:05
>
>  Modified:    sys/kern  tty_subr.c
>  Log:
>  Make a putc()/b_to_q() to a clist that hasn't had cblocks reserved
>  non-fatal.  I've make it return an appropriate error to the caller instead
>  of panic()ing.
>  
>  Handling an error condition is inherently more friendly than exploding
>  the kernel.. :-)  The new behavior is a little closer to traditional
>  clists, potentially making porting a little simpler.
>  
>  Suggested by: bde (many months ago, I've been using this for a while..)

   I just looked at these changes and it appears that you preserve the data
being putc()'d/b_to_q()'d rather than dropping it on the floor. It probably
would be better to toss it out, otherwise you might cause an infinite loop
trying to write it. I don't think the situation will change for the better,
so not tossing out with b_to_q() seems to only result in the data staying in
the uio struct [see the callers of b_to_q()] (for example) which would result
in the process doing the writing to loop trying to do the output.
   I'm tired, however, and may have analyzed this incorrectly.

-DG



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199510312019.MAA09861>