[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080729063909.GB7009@2ka.mipt.ru>
Date: Tue, 29 Jul 2008 10:39:09 +0400
From: Evgeniy Polyakov <johnpol@....mipt.ru>
To: cpusoft <cpusoft@...il.com>
Cc: netdev@...r.kernel.org
Subject: Re: where change events in epoll_wait(), and who notify an epoll event?
Hi.
On Tue, Jul 29, 2008 at 09:54:35AM +0800, cpusoft (cpusoft@...il.com) wrote:
> But, i wonder where changes the epi->event.events? and who notify the
> epoll event ?
Nothing modifies events, only revents are used to specify mask of the
condition.
When new event is inserted into the epoll system, appropriate
driver's (attached to the file's private data)->poll() callback is
invoked. When the last parameter is non-NULL, it specifies essentially
the wait queue to attach to the private wait queue head of the driver.
When driver triggers some condition and calls
wake_up(&private_wait_queue_head), all wait queues attached there are
processed and callback stored in each one is executed. Callback for
epoll's wait queue puts given event into the ready list and wakes up
epoll_wait(), which copies data to userspace.
--
Evgeniy Polyakov
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists