lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <15da71430807281854v3e7c2536hd4e709a9a5dc7bb6@mail.gmail.com>
Date:	Tue, 29 Jul 2008 09:54:35 +0800
From:	cpusoft <cpusoft@...il.com>
To:	netdev@...r.kernel.org
Subject: where change events in epoll_wait(), and who notify an epoll event?

hi, group

i have question in epoll functions.
as we know, user can use poll_wait() as follows:
for(;;) {
 nfds = epoll_wait(kdpfd, events, maxevents, -1);
 for(n = 0; n < nfds; ++n) {
     do_my_function(events[n].data.fd);
 }
}
that means we can get the new events from the parameter events from
epoll_wait().

Then i search the kernel, and find the new events comes from
ep_send_events() finally , through sys_poll_wait() and ep_poll().
the ep_send_evnets() shows as follows:

static int ep_send_events(struct eventpoll *ep, struct epoll_event
                                      __user *events, int maxevents)
{
       ....
       //in here,  revents = POLLIN | POLLRDNORM;
       revents = epi->ffd.file->f_op->poll(epi->ffd.file, NULL);

      // i wonder where changes the epi->event.events??
       revents &= epi->event.events;
}

So, the revents comes from epi->event.events.

But, i wonder where changes the epi->event.events? and who notify the
epoll event ?
i find nothing from lxr.linux.no by search "event.evnets" as keyword.

Can anybody help me?
--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ