From: nicolas sitbon <nicolas.sitbon@gmail.com>
To: Michael Tokarev <mjt@tls.msk.ru>
Cc: linux-kernel@vger.kernel.org
Subject: Re: epoll_ctl and const correctness
Date: Fri, 27 Mar 2009 23:55:56 +0100 [thread overview]
Message-ID: <84a01a8b0903271555i7a4fea50nd95009539aa2f94d@mail.gmail.com> (raw)
In-Reply-To: <49CD564E.6050101@msgid.tls.msk.ru>
Do you read my post? there is a confusion, my question was first : why
the structure isn't const? and you answer me. ok. second, I asked if
the kernel keep track of this structure, that is, it keeps a pointer
on it for doing his job? according to your last answer, no. last
question : why the size type of the first parameter of epoll_create is
int and not size_t? no answer for the moment.
2009/3/27 Michael Tokarev <mjt@tls.msk.ru>:
> nicolas sitbon wrote:
>>
>> I was looking at libevent of niels provos, and even him, is apparently
>> doing a mistake :
>>
>> static int
>> epoll_add(void *arg, struct event *ev)
>> {
>> struct epollop *epollop = arg;
>> struct epoll_event epev = {0, {0}};
>>
>> /* ... some code here ... */
>> if (epoll_ctl(epollop->epfd, op, ev->ev_fd, &epev) == -1)
>> return (-1);
>>
>> /* Update events responsible */
>> if (ev->ev_events & EV_READ)
>> evep->evread = ev;
>> if (ev->ev_events & EV_WRITE)
>> evep->evwrite = ev;
>>
>> return (0);
>> }
>>
>> the structure pointed to by &epev is allocated on the stack, so how
>> the kernel could keep track of it?
>
> I've no idea what are you talking about and what exactly
> is your problem. Both the examples (one at cplayer.org and
> another above) gives correct usage of epoll. If you don't
> understand it, well, I'd suggest reading some documentation
> first, maybe in kernel, maybe in glibc, maybe numerous
> available on the net. And all the numerous examples too,
> which you quote as, for some reason, wrong.
>
> /mjt
>
next prev parent reply other threads:[~2009-03-27 22:56 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-03-25 12:45 nicolas sitbon
2009-03-25 16:23 ` Davide Libenzi
2009-03-25 17:27 ` nicolas sitbon
2009-03-27 19:43 ` nicolas sitbon
2009-03-25 21:21 ` Jeremy Fitzhardinge
2009-03-25 21:37 ` nicolas sitbon
2009-03-27 9:44 ` nicolas sitbon
2009-03-27 21:47 ` Michael Tokarev
2009-03-27 22:17 ` nicolas sitbon
2009-03-27 22:30 ` nicolas sitbon
2009-03-27 22:40 ` Davide Libenzi
2009-03-27 22:42 ` Michael Tokarev
2009-03-27 22:55 ` nicolas sitbon [this message]
2009-03-27 23:01 ` Michael Tokarev
2009-03-27 23:10 ` nicolas sitbon
2009-03-27 23:16 ` Michael Tokarev
2009-03-27 23:25 ` nicolas sitbon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=84a01a8b0903271555i7a4fea50nd95009539aa2f94d@mail.gmail.com \
--to=nicolas.sitbon@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mjt@tls.msk.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®