[PATCH] make n_hdlc honor O_NONBLOCK on write

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Paul Fulghum
Date: Thursday, July 17, 2008 - 6:55 am

Make n_hdlc line discipline honor the O_NONBLOCK
file flag on write.

Signed-off-by: Paul Fulghum <paulkf@microgate.com>

--- a/drivers/char/n_hdlc.c	2008-07-17 08:39:15.000000000 -0500
+++ b/drivers/char/n_hdlc.c	2008-07-17 08:43:58.000000000 -0500
@@ -677,6 +677,10 @@ static ssize_t n_hdlc_tty_write(struct t
 	/* Allocate transmit buffer */
 	/* sleep until transmit buffer available */		
 	while (!(tbuf = n_hdlc_buf_get(&n_hdlc->tx_free_buf_list))) {
+		if (file->f_flags & O_NONBLOCK) {
+			error = -EAGAIN;
+			break;
+		}
 		schedule();
 			
 		n_hdlc = tty2n_hdlc (tty);


--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH] make n_hdlc honor O_NONBLOCK on write, Paul Fulghum, (Thu Jul 17, 6:55 am)