tech-misc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: sys/event.h's kevent.udata and c++
* Jeremy C. Reed <reed%reedmedia.net@localhost> [100527 15:43] wrote:
> On Thu, 27 May 2010, Alfred Perlstein wrote:
>
> > * Jeremy C. Reed <reed%reedmedia.net@localhost> [100527 14:32] wrote:
> > > For src/sys/sys/event.h
> > >
> > > I am told that kevent.udata should maybe be void * since C++ doesn't
> > > allow the naive conversion from a pointer type to integer. Apparently
> > > some other systems have that has void *.
> > >
> > > Before I change I get errors like:
> > >
> > > ../../../ext/asio/asio/detail/kqueue_reactor.hpp: In member function
> > > 'void asio::detail::kqueue_reactor::start_op(int,
> > > asio::detail::socket_type,
> > > asio::detail::kqueue_reactor::descriptor_state*&,
> > > asio::detail::reactor_op*, bool)':
> > > ../../../ext/asio/asio/detail/kqueue_reactor.hpp:180: error: invalid
> > > conversion from 'asio::detail::kqueue_reactor::descriptor_state*' to
> > > '__intptr_t'
> > >
> > > Okay to change that?
> >
> > It looks like udata is already void* in head:
> >
> > http://svn.freebsd.org/viewvc/base/head/sys/sys/event.h?revision=201350&view=markup
> >
> > ?
>
> Thanks for the FreeBSD example.
>
> Okay for me to do the same in NetBSD?
>
> :)
Oops, I got my lists confused! :)
I'm not a NetBSD guru, so I'm not sure if that will be OK.
There's probably a cast you should be using. Using intptr_t
is probably superior to void*. I think this is just C++
being pedantic about casts.
--
- Alfred Perlstein
.- AMA, VMOA #5191, 03 vmax, 92 gs500, 85 ch250, 07 zx10
.- FreeBSD committer
Home |
Main Index |
Thread Index |
Old Index