Date: Mon, 28 Jun 2010 14:13:16 -0400 From: Jung-uk Kim <jkim@FreeBSD.org> To: freebsd-stable@FreeBSD.org Cc: d@delphij.net, python@freebsd.org, Mario Sergio Fujikawa Ferreira <lioux@freebsd.org> Subject: Re: FreeBSD 8.1-PRERELEASE: WARNING ioctl sign-extension ioctl ffffffff8004667e Message-ID: <201006281413.18567.jkim@FreeBSD.org> In-Reply-To: <201006281401.19017.jkim@FreeBSD.org> References: <20100623025855.82916.qmail@exxodus.fedaykin.here> <4C25C3D3.3030109@FreeBSD.org> <201006281401.19017.jkim@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--Boundary-00=_+YOKMgDy+zZ+WMz Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Monday 28 June 2010 02:01 pm, Jung-uk Kim wrote: > Please drop the attached patch in ports/devel/boost-libs/files, > rebuild all dependencies, and try your deluge ports again[1]. Please ignore the previous patch and try this one. Sorry, there was a typo. :-( Jung-uk Kim --Boundary-00=_+YOKMgDy+zZ+WMz Content-Type: text/plain; charset="iso-8859-1"; name="patch-boost_asio-ioctl" Content-Transfer-Encoding: 7bit Content-Disposition: attachment; filename="patch-boost_asio-ioctl" --- boost/asio/detail/io_control.hpp.orig 2010-01-04 04:36:00.000000000 -0500 +++ boost/asio/detail/io_control.hpp 2010-06-25 18:38:28.000000000 -0400 @@ -46,7 +46,7 @@ public: } // Get the name of the IO control command. - int name() const + ioctl_cmd_type name() const { return FIONBIO; } @@ -96,7 +96,7 @@ public: } // Get the name of the IO control command. - int name() const + ioctl_cmd_type name() const { return FIONREAD; } --- boost/asio/detail/reactive_descriptor_service.hpp.orig 2010-06-25 18:24:52.000000000 -0400 +++ boost/asio/detail/reactive_descriptor_service.hpp 2010-06-25 18:56:32.000000000 -0400 @@ -223,7 +223,7 @@ public: // descriptor is put into the state that has been requested by the user. If // the ioctl syscall was successful then we need to update the flags to // match. - if (!ec && command.name() == static_cast<int>(FIONBIO)) + if (!ec && command.name() == static_cast<ioctl_cmd_type>(FIONBIO)) { if (*static_cast<ioctl_arg_type*>(command.data())) { --- boost/asio/detail/reactive_socket_service.hpp.orig 2010-04-07 04:44:41.000000000 -0400 +++ boost/asio/detail/reactive_socket_service.hpp 2010-06-25 18:55:06.000000000 -0400 @@ -453,7 +453,7 @@ public: // already in the correct state. This ensures that the underlying socket // is put into the state that has been requested by the user. If the ioctl // syscall was successful then we need to update the flags to match. - if (!ec && command.name() == static_cast<int>(FIONBIO)) + if (!ec && command.name() == static_cast<ioctl_cmd_type>(FIONBIO)) { if (*static_cast<ioctl_arg_type*>(command.data())) { --- boost/asio/detail/win_iocp_socket_service.hpp.orig 2010-03-29 21:20:37.000000000 -0400 +++ boost/asio/detail/win_iocp_socket_service.hpp 2010-06-25 18:55:49.000000000 -0400 @@ -564,7 +564,7 @@ public: socket_ops::ioctl(impl.socket_, command.name(), static_cast<ioctl_arg_type*>(command.data()), ec); - if (!ec && command.name() == static_cast<int>(FIONBIO)) + if (!ec && command.name() == static_cast<ioctl_cmd_type>(FIONBIO)) { if (*static_cast<ioctl_arg_type*>(command.data())) impl.flags_ |= implementation_type::user_set_non_blocking; --- boost/asio/detail/descriptor_ops.hpp.orig 2010-01-04 04:36:00.000000000 -0500 +++ boost/asio/detail/descriptor_ops.hpp 2010-06-25 18:37:37.000000000 -0400 @@ -110,7 +110,7 @@ inline int gather_write(int d, const buf return result; } -inline int ioctl(int d, long cmd, ioctl_arg_type* arg, +inline int ioctl(int d, ioctl_cmd_type cmd, ioctl_arg_type* arg, boost::system::error_code& ec) { clear_error(ec); --- boost/asio/detail/socket_ops.hpp.orig 2010-01-04 06:55:09.000000000 -0500 +++ boost/asio/detail/socket_ops.hpp 2010-06-25 18:39:55.000000000 -0400 @@ -596,7 +596,7 @@ inline int getsockname(socket_type s, so return result; } -inline int ioctl(socket_type s, long cmd, ioctl_arg_type* arg, +inline int ioctl(socket_type s, ioctl_cmd_type cmd, ioctl_arg_type* arg, boost::system::error_code& ec) { clear_error(ec); --- boost/asio/detail/socket_types.hpp.orig 2010-03-21 05:39:26.000000000 -0400 +++ boost/asio/detail/socket_types.hpp 2010-06-25 18:48:43.000000000 -0400 @@ -189,6 +189,12 @@ typedef sockaddr_in6 sockaddr_in6_type; typedef sockaddr_storage sockaddr_storage_type; typedef sockaddr_un sockaddr_un_type; typedef addrinfo addrinfo_type; +#if (defined(__MACH__) && defined(__APPLE__)) || defined(__DragonFly__) || \ + defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) +typedef unsigned long ioctl_cmd_type; +#else +typedef int ioctl_cmd_type; +#endif typedef int ioctl_arg_type; typedef uint32_t u_long_type; typedef uint16_t u_short_type; --Boundary-00=_+YOKMgDy+zZ+WMz--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006281413.18567.jkim>