From 916eb426f56f1338be61366ade1cd70102f771a5 Mon Sep 17 00:00:00 2001 From: fhajny Date: Sun, 28 Dec 2014 16:57:36 +0000 Subject: Remove patches that are unnecessary in 1.57.0. Fixes build on SunOS. --- meta-pkgs/boost/distinfo | 6 +- ...atch-boost_asio_detail_impl_select__reactor.ipp | 49 ----- ...h-boost_asio_detail_posix__fd__set__adapter.hpp | 55 ------ .../patch-boost_asio_detail_reactor__op__queue.hpp | 211 --------------------- ...tch-boost_asio_detail_win__fd__set__adapter.hpp | 98 ---------- 5 files changed, 1 insertion(+), 418 deletions(-) delete mode 100644 meta-pkgs/boost/patches/patch-boost_asio_detail_impl_select__reactor.ipp delete mode 100644 meta-pkgs/boost/patches/patch-boost_asio_detail_posix__fd__set__adapter.hpp delete mode 100644 meta-pkgs/boost/patches/patch-boost_asio_detail_reactor__op__queue.hpp delete mode 100644 meta-pkgs/boost/patches/patch-boost_asio_detail_win__fd__set__adapter.hpp (limited to 'meta-pkgs') diff --git a/meta-pkgs/boost/distinfo b/meta-pkgs/boost/distinfo index f556b128211..9052bfbc7c3 100644 --- a/meta-pkgs/boost/distinfo +++ b/meta-pkgs/boost/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.71 2014/11/07 19:28:38 adam Exp $ +$NetBSD: distinfo,v 1.72 2014/12/28 16:57:36 fhajny Exp $ SHA1 (boost_1_57_0.tar.bz2) = e151557ae47afd1b43dc3fac46f8b04a8fe51c12 RMD160 (boost_1_57_0.tar.bz2) = 8365f7c11e5ae088164ab1cb40ac624e76f8e72e @@ -12,10 +12,6 @@ SHA1 (patch-ag) = 117eabbbbc26d04bb5e56df5ad92e55b5061c0f8 SHA1 (patch-aq) = 355a58864bf4d07617250d2587e0f7cf62a7b825 SHA1 (patch-ar) = 2fec2c51272cc4ee376e6538d8f1fd8561a7f0a3 SHA1 (patch-boost_asio_detail_config.hpp) = b95ca6b0bb6c805624cb81c91c3f1b691a7425ca -SHA1 (patch-boost_asio_detail_impl_select__reactor.ipp) = dbb9df5248af0eb5438c601ad29b1a423777f025 -SHA1 (patch-boost_asio_detail_posix__fd__set__adapter.hpp) = 447c0b598985a601f7b4701cd355debe55982273 -SHA1 (patch-boost_asio_detail_reactor__op__queue.hpp) = eaa1a880ce15befedce274610e7613ebf7832155 -SHA1 (patch-boost_asio_detail_win__fd__set__adapter.hpp) = ace29389978d7e97ecba3c6ed21ae3df7fd6ea8f SHA1 (patch-boost_config_posix__features.hpp) = c3e7187af35a2a25901b37388d3194e22d005323 SHA1 (patch-boost_config_stdlib_libcpp.hpp) = d243325d3aeb180e4ed7a1fd7d89782d832fa9fc SHA1 (patch-boost_config_stdlib_libstdcpp3.hpp) = 173271c60b3e2ba7bb1fe9390dcd864ce9742588 diff --git a/meta-pkgs/boost/patches/patch-boost_asio_detail_impl_select__reactor.ipp b/meta-pkgs/boost/patches/patch-boost_asio_detail_impl_select__reactor.ipp deleted file mode 100644 index 0ec3b484a4e..00000000000 --- a/meta-pkgs/boost/patches/patch-boost_asio_detail_impl_select__reactor.ipp +++ /dev/null @@ -1,49 +0,0 @@ -$NetBSD: patch-boost_asio_detail_impl_select__reactor.ipp,v 1.1 2014/08/18 10:35:13 fhajny Exp $ - -Revert a upstream Windows optimization commit that breaks /dev/poll platforms -like SunOS. See https://svn.boost.org/trac/boost/ticket/10350 - ---- boost/asio/detail/impl/select_reactor.ipp.orig 2014-08-13 12:13:05.240414272 +0000 -+++ boost/asio/detail/impl/select_reactor.ipp -@@ -182,7 +182,7 @@ void select_reactor::run(bool block, op_ - for (int i = 0; i < max_select_ops; ++i) - { - have_work_to_do = have_work_to_do || !op_queue_[i].empty(); -- fd_sets_[i].set(op_queue_[i], ops); -+ op_queue_[i].get_descriptors(fd_sets_[i], ops); - if (fd_sets_[i].max_descriptor() > max_fd) - max_fd = fd_sets_[i].max_descriptor(); - } -@@ -190,10 +190,10 @@ void select_reactor::run(bool block, op_ - #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) - // Connection operations on Windows use both except and write fd_sets. - have_work_to_do = have_work_to_do || !op_queue_[connect_op].empty(); -- fd_sets_[write_op].set(op_queue_[connect_op], ops); -+ op_queue_[connect_op].get_descriptors(fd_sets_[write_op], ops); - if (fd_sets_[write_op].max_descriptor() > max_fd) - max_fd = fd_sets_[write_op].max_descriptor(); -- fd_sets_[except_op].set(op_queue_[connect_op], ops); -+ op_queue_[connect_op].get_descriptors(fd_sets_[except_op], ops); - if (fd_sets_[except_op].max_descriptor() > max_fd) - max_fd = fd_sets_[except_op].max_descriptor(); - #endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) -@@ -228,14 +228,16 @@ void select_reactor::run(bool block, op_ - { - #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) - // Connection operations on Windows use both except and write fd_sets. -- fd_sets_[except_op].perform(op_queue_[connect_op], ops); -- fd_sets_[write_op].perform(op_queue_[connect_op], ops); -+ op_queue_[connect_op].perform_operations_for_descriptors( -+ fd_sets_[except_op], ops); -+ op_queue_[connect_op].perform_operations_for_descriptors( -+ fd_sets_[write_op], ops); - #endif // defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) - - // Exception operations must be processed first to ensure that any - // out-of-band data is read before normal data. - for (int i = max_select_ops - 1; i >= 0; --i) -- fd_sets_[i].perform(op_queue_[i], ops); -+ op_queue_[i].perform_operations_for_descriptors(fd_sets_[i], ops); - } - timer_queues_.get_ready_timers(ops); - } diff --git a/meta-pkgs/boost/patches/patch-boost_asio_detail_posix__fd__set__adapter.hpp b/meta-pkgs/boost/patches/patch-boost_asio_detail_posix__fd__set__adapter.hpp deleted file mode 100644 index 9fa907b4827..00000000000 --- a/meta-pkgs/boost/patches/patch-boost_asio_detail_posix__fd__set__adapter.hpp +++ /dev/null @@ -1,55 +0,0 @@ -$NetBSD: patch-boost_asio_detail_posix__fd__set__adapter.hpp,v 1.1 2014/08/18 10:35:13 fhajny Exp $ - -Revert a upstream Windows optimization commit that breaks /dev/poll platforms -like SunOS. See https://svn.boost.org/trac/boost/ticket/10350 - ---- boost/asio/detail/posix_fd_set_adapter.hpp.orig 2014-08-13 12:13:05.246078647 +0000 -+++ boost/asio/detail/posix_fd_set_adapter.hpp -@@ -23,7 +23,6 @@ - - #include - #include --#include - #include - - #include -@@ -61,20 +60,6 @@ public: - return false; - } - -- void set(reactor_op_queue& operations, op_queue& ops) -- { -- reactor_op_queue::iterator i = operations.begin(); -- while (i != operations.end()) -- { -- reactor_op_queue::iterator op_iter = i++; -- if (!set(op_iter->first)) -- { -- boost::system::error_code ec(error::fd_set_failure); -- operations.cancel_operations(op_iter, ops, ec); -- } -- } -- } -- - bool is_set(socket_type descriptor) const - { - return FD_ISSET(descriptor, &fd_set_) != 0; -@@ -90,18 +75,6 @@ public: - return max_descriptor_; - } - -- void perform(reactor_op_queue& operations, -- op_queue& ops) const -- { -- reactor_op_queue::iterator i = operations.begin(); -- while (i != operations.end()) -- { -- reactor_op_queue::iterator op_iter = i++; -- if (is_set(op_iter->first)) -- operations.perform_operations(op_iter, ops); -- } -- } -- - private: - mutable fd_set fd_set_; - socket_type max_descriptor_; diff --git a/meta-pkgs/boost/patches/patch-boost_asio_detail_reactor__op__queue.hpp b/meta-pkgs/boost/patches/patch-boost_asio_detail_reactor__op__queue.hpp deleted file mode 100644 index a84b6179279..00000000000 --- a/meta-pkgs/boost/patches/patch-boost_asio_detail_reactor__op__queue.hpp +++ /dev/null @@ -1,211 +0,0 @@ -$NetBSD: patch-boost_asio_detail_reactor__op__queue.hpp,v 1.1 2014/08/18 10:35:13 fhajny Exp $ - -Revert a upstream Windows optimization commit that breaks /dev/poll platforms -like SunOS. See https://svn.boost.org/trac/boost/ticket/10350 - ---- boost/asio/detail/reactor_op_queue.hpp.orig 2014-08-13 12:13:05.258739735 +0000 -+++ boost/asio/detail/reactor_op_queue.hpp -@@ -33,54 +33,41 @@ class reactor_op_queue - : private noncopyable - { - public: -- typedef Descriptor key_type; -- -- struct mapped_type : op_queue -- { -- mapped_type() {} -- mapped_type(const mapped_type&) {} -- void operator=(const mapped_type&) {} -- }; -- -- typedef typename hash_map::value_type value_type; -- typedef typename hash_map::iterator iterator; -- - // Constructor. - reactor_op_queue() - : operations_() - { - } - -- // Obtain iterators to all registered descriptors. -- iterator begin() { return operations_.begin(); } -- iterator end() { return operations_.end(); } -- - // Add a new operation to the queue. Returns true if this is the only - // operation for the given descriptor, in which case the reactor's event - // demultiplexing function call may need to be interrupted and restarted. - bool enqueue_operation(Descriptor descriptor, reactor_op* op) - { -+ typedef typename operations_map::iterator iterator; -+ typedef typename operations_map::value_type value_type; - std::pair entry = -- operations_.insert(value_type(descriptor, mapped_type())); -- entry.first->second.push(op); -+ operations_.insert(value_type(descriptor, operations())); -+ entry.first->second.op_queue_.push(op); - return entry.second; - } - -- // Cancel all operations associated with the descriptor identified by the -- // supplied iterator. Any operations pending for the descriptor will be -- // cancelled. Returns true if any operations were cancelled, in which case -- // the reactor's event demultiplexing function may need to be interrupted and -- // restarted. -- bool cancel_operations(iterator i, op_queue& ops, -+ // Cancel all operations associated with the descriptor. Any operations -+ // pending for the descriptor will be notified that they have been cancelled -+ // next time perform_cancellations is called. Returns true if any operations -+ // were cancelled, in which case the reactor's event demultiplexing function -+ // may need to be interrupted and restarted. -+ bool cancel_operations(Descriptor descriptor, op_queue& ops, - const boost::system::error_code& ec = - boost::asio::error::operation_aborted) - { -+ typename operations_map::iterator i = operations_.find(descriptor); - if (i != operations_.end()) - { -- while (reactor_op* op = i->second.front()) -+ while (reactor_op* op = i->second.op_queue_.front()) - { - op->ec_ = ec; -- i->second.pop(); -+ i->second.op_queue_.pop(); - ops.push(op); - } - operations_.erase(i); -@@ -90,17 +77,6 @@ public: - return false; - } - -- // Cancel all operations associated with the descriptor. Any operations -- // pending for the descriptor will be cancelled. Returns true if any -- // operations were cancelled, in which case the reactor's event -- // demultiplexing function may need to be interrupted and restarted. -- bool cancel_operations(Descriptor descriptor, op_queue& ops, -- const boost::system::error_code& ec = -- boost::asio::error::operation_aborted) -- { -- return this->cancel_operations(operations_.find(descriptor), ops, ec); -- } -- - // Whether there are no operations in the queue. - bool empty() const - { -@@ -113,18 +89,18 @@ public: - return operations_.find(descriptor) != operations_.end(); - } - -- // Perform the operations corresponding to the descriptor identified by the -- // supplied iterator. Returns true if there are still unfinished operations -- // queued for the descriptor. -- bool perform_operations(iterator i, op_queue& ops) -+ // Perform the operations corresponding to the descriptor. Returns true if -+ // there are still unfinished operations queued for the descriptor. -+ bool perform_operations(Descriptor descriptor, op_queue& ops) - { -+ typename operations_map::iterator i = operations_.find(descriptor); - if (i != operations_.end()) - { -- while (reactor_op* op = i->second.front()) -+ while (reactor_op* op = i->second.op_queue_.front()) - { - if (op->perform()) - { -- i->second.pop(); -+ i->second.op_queue_.pop(); - ops.push(op); - } - else -@@ -137,28 +113,84 @@ public: - return false; - } - -- // Perform the operations corresponding to the descriptor. Returns true if -- // there are still unfinished operations queued for the descriptor. -- bool perform_operations(Descriptor descriptor, op_queue& ops) -+ // Fill a descriptor set with the descriptors corresponding to each active -+ // operation. The op_queue is used only when descriptors fail to be added to -+ // the descriptor set. -+ template -+ void get_descriptors(Descriptor_Set& descriptors, op_queue& ops) - { -- return this->perform_operations(operations_.find(descriptor), ops); -+ typename operations_map::iterator i = operations_.begin(); -+ while (i != operations_.end()) -+ { -+ Descriptor descriptor = i->first; -+ ++i; -+ if (!descriptors.set(descriptor)) -+ { -+ boost::system::error_code ec(error::fd_set_failure); -+ cancel_operations(descriptor, ops, ec); -+ } -+ } -+ } -+ -+ // Perform the operations corresponding to the ready file descriptors -+ // contained in the given descriptor set. -+ template -+ void perform_operations_for_descriptors( -+ const Descriptor_Set& descriptors, op_queue& ops) -+ { -+ typename operations_map::iterator i = operations_.begin(); -+ while (i != operations_.end()) -+ { -+ typename operations_map::iterator op_iter = i++; -+ if (descriptors.is_set(op_iter->first)) -+ { -+ while (reactor_op* op = op_iter->second.op_queue_.front()) -+ { -+ if (op->perform()) -+ { -+ op_iter->second.op_queue_.pop(); -+ ops.push(op); -+ } -+ else -+ { -+ break; -+ } -+ } -+ -+ if (op_iter->second.op_queue_.empty()) -+ operations_.erase(op_iter); -+ } -+ } - } - - // Get all operations owned by the queue. - void get_all_operations(op_queue& ops) - { -- iterator i = operations_.begin(); -+ typename operations_map::iterator i = operations_.begin(); - while (i != operations_.end()) - { -- iterator op_iter = i++; -- ops.push(op_iter->second); -+ typename operations_map::iterator op_iter = i++; -+ ops.push(op_iter->second.op_queue_); - operations_.erase(op_iter); - } - } - - private: -+ struct operations -+ { -+ operations() {} -+ operations(const operations&) {} -+ void operator=(const operations&) {} -+ -+ // The operations waiting on the desccriptor. -+ op_queue op_queue_; -+ }; -+ -+ // The type for a map of operations. -+ typedef hash_map operations_map; -+ - // The operations that are currently executing asynchronously. -- hash_map operations_; -+ operations_map operations_; - }; - - } // namespace detail diff --git a/meta-pkgs/boost/patches/patch-boost_asio_detail_win__fd__set__adapter.hpp b/meta-pkgs/boost/patches/patch-boost_asio_detail_win__fd__set__adapter.hpp deleted file mode 100644 index 0c1148e38cb..00000000000 --- a/meta-pkgs/boost/patches/patch-boost_asio_detail_win__fd__set__adapter.hpp +++ /dev/null @@ -1,98 +0,0 @@ -$NetBSD: patch-boost_asio_detail_win__fd__set__adapter.hpp,v 1.1 2014/08/18 10:35:13 fhajny Exp $ - -Revert a upstream Windows optimization commit that breaks /dev/poll platforms -like SunOS. See https://svn.boost.org/trac/boost/ticket/10350 - ---- boost/asio/detail/win_fd_set_adapter.hpp.orig 2014-08-13 12:13:05.251499093 +0000 -+++ boost/asio/detail/win_fd_set_adapter.hpp -@@ -20,7 +20,6 @@ - #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) - - #include --#include - #include - - #include -@@ -62,20 +61,24 @@ public: - if (fd_set_->fd_array[i] == descriptor) - return true; - -- reserve(fd_set_->fd_count + 1); -- fd_set_->fd_array[fd_set_->fd_count++] = descriptor; -- return true; -- } -- -- void set(reactor_op_queue& operations, op_queue&) -- { -- reactor_op_queue::iterator i = operations.begin(); -- while (i != operations.end()) -+ if (fd_set_->fd_count == capacity_) - { -- reactor_op_queue::iterator op_iter = i++; -- reserve(fd_set_->fd_count + 1); -- fd_set_->fd_array[fd_set_->fd_count++] = op_iter->first; -+ u_int new_capacity = capacity_ + capacity_ / 2; -+ win_fd_set* new_fd_set = static_cast(::operator new( -+ sizeof(win_fd_set) - sizeof(SOCKET) -+ + sizeof(SOCKET) * (new_capacity))); -+ -+ new_fd_set->fd_count = fd_set_->fd_count; -+ for (u_int i = 0; i < fd_set_->fd_count; ++i) -+ new_fd_set->fd_array[i] = fd_set_->fd_array[i]; -+ -+ ::operator delete(fd_set_); -+ fd_set_ = new_fd_set; -+ capacity_ = new_capacity; - } -+ -+ fd_set_->fd_array[fd_set_->fd_count++] = descriptor; -+ return true; - } - - bool is_set(socket_type descriptor) const -@@ -94,14 +97,8 @@ public: - return max_descriptor_; - } - -- void perform(reactor_op_queue& operations, -- op_queue& ops) const -- { -- for (u_int i = 0; i < fd_set_->fd_count; ++i) -- operations.perform_operations(fd_set_->fd_array[i], ops); -- } -- - private: -+ - // This structure is defined to be compatible with the Windows API fd_set - // structure, but without being dependent on the value of FD_SETSIZE. We use - // the "struct hack" to allow the number of descriptors to be varied at -@@ -112,29 +109,6 @@ private: - SOCKET fd_array[1]; - }; - -- // Increase the fd_set_ capacity to at least the specified number of elements. -- void reserve(u_int n) -- { -- if (n <= capacity_) -- return; -- -- u_int new_capacity = capacity_ + capacity_ / 2; -- if (new_capacity < n) -- new_capacity = n; -- -- win_fd_set* new_fd_set = static_cast(::operator new( -- sizeof(win_fd_set) - sizeof(SOCKET) -- + sizeof(SOCKET) * (new_capacity))); -- -- new_fd_set->fd_count = fd_set_->fd_count; -- for (u_int i = 0; i < fd_set_->fd_count; ++i) -- new_fd_set->fd_array[i] = fd_set_->fd_array[i]; -- -- ::operator delete(fd_set_); -- fd_set_ = new_fd_set; -- capacity_ = new_capacity; -- } -- - win_fd_set* fd_set_; - u_int capacity_; - socket_type max_descriptor_; -- cgit v1.2.3