linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Two questions regarding evdev
@ 2010-03-24 20:53 David Härdeman
  2010-03-24 21:41 ` Dmitry Torokhov
  0 siblings, 1 reply; 2+ messages in thread
From: David Härdeman @ 2010-03-24 20:53 UTC (permalink / raw)
  To: linux-input; +Cc: dmitry.torokhov

I've been going over the evdev (drivers/input/evdev.c) code since I'm 
using it as inspiration for a small project I'm hacking on. So far I 
have two questions with regard to the code:

First, evdev_event passes a new event to all connected clients (writing 
it to each client's event fifo) and then calls wake_up_interruptible.  
However, given that all clients will have at least one new event to read 
after evdev_event is done, shouldn't wake_up_interruptible_all be called 
instead?

Second, evdev_poll never sets the POLLOUT flag, but evdev can accept 
writes (which will be passed to input_inject_event), so shouldn't the 
POLLOUT flag always be set?

Regards,
David


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Two questions regarding evdev
  2010-03-24 20:53 Two questions regarding evdev David Härdeman
@ 2010-03-24 21:41 ` Dmitry Torokhov
  0 siblings, 0 replies; 2+ messages in thread
From: Dmitry Torokhov @ 2010-03-24 21:41 UTC (permalink / raw)
  To: David Härdeman; +Cc: linux-input

Hi David,

On Wednesday 24 March 2010 01:53:32 pm David Härdeman wrote:
> I've been going over the evdev (drivers/input/evdev.c) code since I'm
> using it as inspiration for a small project I'm hacking on. So far I
> have two questions with regard to the code:
> 
> First, evdev_event passes a new event to all connected clients (writing
> it to each client's event fifo) and then calls wake_up_interruptible.
> However, given that all clients will have at least one new event to read
> after evdev_event is done, shouldn't wake_up_interruptible_all be called
> instead?

wake_up() vs. wake_up_all() only matters if there is exclusive waiters
which evdev does not use. PLease see comment/explanation for wake up
here:

	http://lxr.linux.no/linux+v2.6.33/kernel/sched.c#L5685

> 
> Second, evdev_poll never sets the POLLOUT flag, but evdev can accept
> writes (which will be passed to input_inject_event), so shouldn't the
> POLLOUT flag always be set?

We could but I guess nobody tries to pull evdev for writing, everyone
is interested in reading. 

-- 
Dmitry
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2010-03-24 21:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-03-24 20:53 Two questions regarding evdev David Härdeman
2010-03-24 21:41 ` Dmitry Torokhov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).