* [patch 02/10] char/tty_io: replace schedule_timeout() with msleep_interruptible()
@ 2005-03-19 13:17 domen
0 siblings, 0 replies; only message in thread
From: domen @ 2005-03-19 13:17 UTC (permalink / raw)
To: akpm; +Cc: linux-kernel, domen, nacc
Use msleep_interruptible() instead of schedule_timeout() in
send_break() to guarantee the task delays as expected. Change
@duration's units to milliseconds, and modify arguments in callers
appropriately. Patch is compile-tested.
Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com>
Signed-off-by: Domen Puncer <domen@coderock.org>
---
kj-domen/drivers/char/tty_io.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff -puN drivers/char/tty_io.c~msleep-drivers_char_tty_io drivers/char/tty_io.c
--- kj/drivers/char/tty_io.c~msleep-drivers_char_tty_io 2005-03-18 20:05:10.000000000 +0100
+++ kj-domen/drivers/char/tty_io.c 2005-03-18 20:05:10.000000000 +0100
@@ -94,6 +94,7 @@
#include <linux/idr.h>
#include <linux/wait.h>
#include <linux/bitops.h>
+#include <linux/delay.h>
#include <asm/uaccess.h>
#include <asm/system.h>
@@ -2169,12 +2170,11 @@ static int tiocsetd(struct tty_struct *t
return tty_set_ldisc(tty, ldisc);
}
-static int send_break(struct tty_struct *tty, int duration)
+static int send_break(struct tty_struct *tty, unsigned int duration)
{
tty->driver->break_ctl(tty, -1);
if (!signal_pending(current)) {
- set_current_state(TASK_INTERRUPTIBLE);
- schedule_timeout(duration);
+ msleep_interruptible(duration);
}
tty->driver->break_ctl(tty, 0);
if (signal_pending(current))
@@ -2355,10 +2355,10 @@ int tty_ioctl(struct inode * inode, stru
* all by anyone?
*/
if (!arg)
- return send_break(tty, HZ/4);
+ return send_break(tty, 250);
return 0;
case TCSBRKP: /* support for POSIX tcsendbreak() */
- return send_break(tty, arg ? arg*(HZ/10) : HZ/4);
+ return send_break(tty, arg ? arg*100 : 250);
case TIOCMGET:
return tty_tiocmget(tty, file, p);
_
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2005-03-19 13:17 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-19 13:17 [patch 02/10] char/tty_io: replace schedule_timeout() with msleep_interruptible() domen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome