diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2017-10-09 18:53:29 +0100 |
commit | 4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch) | |
tree | ba5f07bf3f9d22d82e54a462313f5d244036c768 /dev-cpp/threadpool |
reinit the tree, so we can have metadata
Diffstat (limited to 'dev-cpp/threadpool')
-rw-r--r-- | dev-cpp/threadpool/Manifest | 7 | ||||
-rw-r--r-- | dev-cpp/threadpool/files/threadpool-0.2.5-memleak.patch | 22 | ||||
-rw-r--r-- | dev-cpp/threadpool/metadata.xml | 11 | ||||
-rw-r--r-- | dev-cpp/threadpool/threadpool-0.2.5-r1.ebuild | 39 |
4 files changed, 79 insertions, 0 deletions
diff --git a/dev-cpp/threadpool/Manifest b/dev-cpp/threadpool/Manifest new file mode 100644 index 000000000000..e1a7e1a6ad11 --- /dev/null +++ b/dev-cpp/threadpool/Manifest @@ -0,0 +1,7 @@ +AUX threadpool-0.2.5-memleak.patch 786 SHA256 b5916399bed4fddca7d2d4394d9db5c62345254ba3bef6649e4815f81b429101 SHA512 427802d2695ed08e3f0fc318e7f379d288bdea9adcdd9ee02215fbffc7a579e736140205cdf9122654c56add637fa80e4673a3a98fba939943f41597d8097912 WHIRLPOOL 8d5e650fbe7a902af61cc136e6ab68956bbcc2f8913387c5e5072ce2c48336faedb9302cf8636cb76976574aace82dd7b85186e3527e6aa17b58e6a19411ac60 +DIST threadpool-0_2_5-doc.zip 154617 SHA256 b79d314d12735e00572b63c356613bbe45eb115f37ae657dbd0fb7d0cd3666e5 SHA512 cdee7d0cf02af55ef4e1237fff9f5214ffb91b00ad2880592efcf3f62d661f3e8a870d092797dd2866e24189e9d6f8e626ca840ab89ce29e5c944c79e8cb31ea WHIRLPOOL bb15bf6482fc6ca1388c10647df63aef21e8fd1d95adfce51d133119e7e47aac40b4a566c0a911e318ce1cf460110d1b4e451a446807205eb5a022679ae764ea +DIST threadpool-0_2_5-src.zip 58599 SHA256 ab5a78d0f6ed7bd258a6095b3ba1854b40932e0e655fa492607bd2a940898889 SHA512 961576b619e5227098fa37a3c8d903128b3c2a9cf1e55c057c6f9126062bcccfa6fe2510b4e8ee5d1a0e3d0425f0077c50eccad2120a423f69e2705460780e7c WHIRLPOOL a54c9a67b6de6fc53b779a5c49922abc136b7fd257261d4563eead865a139d40e784ab4bbf557e941c94fef8f2f9bcc820c996cf71d2488f675ec9dbb750150c +EBUILD threadpool-0.2.5-r1.ebuild 888 SHA256 41e0b7b3c828a1e155cf8b59a34ce47d1f10a63297ce2519b782e38a16443731 SHA512 e16f8b7415461cbf47c08e81b008833b3ffc6814627ca3b13e252b536829ad096afb73414d98dfc268508d88cce97e4c44f8f562ba110cbf5f3cdf8dba602967 WHIRLPOOL 8182870462d1d5444a8d6805441989aab4ae2700c2c8be54982ed3b531efef109c55230b1a3135d2dbd9e97b688b115b9b90b2dabab52aede4077b2b79096a4b +MISC ChangeLog 2569 SHA256 2c00f6363addf1da46c3bcf54f3f8b1bd4cd1ae9cabf86cd3139e1e91cf4b878 SHA512 86c67d0a915d4761d502fe9a231d801fad5055d7d1e82eb00e041a0007da2bb285c9bfa70c32a04eb34774bae94a72cf4adc3c4bb877028a3448c677a97e5169 WHIRLPOOL ced512267fb5006b9c62b033206eaaf71d9b67dd83addf79db8e5aa92f0178743ae73186d47e75896de545c860ca55549b079f7c078c32aa83f8f69e5a13fabf +MISC ChangeLog-2015 543 SHA256 6a9f25a7132b51a39475b4bd6bc1b4bab5d1d91402d58573aace8f69123f9526 SHA512 3cc6075f239e53333c5947e0adbc38d9568d4562b345b4676fce789a51880cb6352ac9a766e962dfe79cbad8a5b3a2390871433a58a3f2491f20bcd5db26b2af WHIRLPOOL 1d020f0818849b6db6886c67a01e7c6236ee10a2f639f1bb9e35de18e6d2783a14d6b8f4928cba2e4a37b6ff251047cd4ee286e8c2ac5427c1e69225ef8e2274 +MISC metadata.xml 330 SHA256 5cfdf383ffd09b1ac73b9fe9cfe70e3b5223c8882f97760094b56c25b09187c8 SHA512 5bd797cbdfe2f8a33f10947018d11fc38af0b51a8a1f06b0723d52e3854558c742e62d9f4cb0c13160cbb0ecb9c68267c0d4360b01068e486ca7d4a4314f5229 WHIRLPOOL 74e15391792603d259c6eb76deeaae90733c0cc1dbb92eee59d1c7411b35bb0e18a28669724532b8e0a2983bd5acaf2791ecd45c080f6eabb18d2d08e87e1fe6 diff --git a/dev-cpp/threadpool/files/threadpool-0.2.5-memleak.patch b/dev-cpp/threadpool/files/threadpool-0.2.5-memleak.patch new file mode 100644 index 000000000000..26d89d1d5c25 --- /dev/null +++ b/dev-cpp/threadpool/files/threadpool-0.2.5-memleak.patch @@ -0,0 +1,22 @@ +Fix memleak due circular references blocking garbage collection. + +http://www.cplusplus.com/forum/general/56971/ provides a testcase for a memory +leak with the threadpool due to shared_ptr usage. + +I really needed threadpool to work for me, so I traced & fixed it as best as +possible. When the threadpool is being destroyed, your threads should have +terminated already. Do so deliberately if not done yet, so that they free the +memory. + +Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> + +--- threadpool/boost/threadpool/detail/pool_core.hpp ++++ threadpool/boost/threadpool/detail/pool_core.hpp +@@ -150,6 +150,7 @@ + /// Destructor. + ~pool_core() + { ++ terminate_all_workers(true); + } + + /*! Gets the size controller which manages the number of threads in the pool. diff --git a/dev-cpp/threadpool/metadata.xml b/dev-cpp/threadpool/metadata.xml new file mode 100644 index 000000000000..2af619160dd4 --- /dev/null +++ b/dev-cpp/threadpool/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>robbat2@gentoo.org</email> + <name>Robin H. Johnson</name> + </maintainer> + <upstream> + <remote-id type="sourceforge">threadpool</remote-id> + </upstream> +</pkgmetadata> diff --git a/dev-cpp/threadpool/threadpool-0.2.5-r1.ebuild b/dev-cpp/threadpool/threadpool-0.2.5-r1.ebuild new file mode 100644 index 000000000000..882c07045372 --- /dev/null +++ b/dev-cpp/threadpool/threadpool-0.2.5-r1.ebuild @@ -0,0 +1,39 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +DESCRIPTION="A cross-platform C++ thread pool library (built on top of Boost)" +HOMEPAGE="http://threadpool.sourceforge.net/" +MY_PV=${PV//./_} +MY_P=${PN}-${MY_PV} +SRC_URI_BASE="mirror://sourceforge/threadpool/threadpool/${PV}%20%28Stable%29" +SRC_URI="${SRC_URI_BASE}/${MY_P}-src.zip + doc? ( ${SRC_URI_BASE}/${MY_P}-doc.zip )" + +LICENSE="Boost-1.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc" + +DEPEND="" +RDEPEND="dev-libs/boost" + +S="${WORKDIR}/${MY_P}-src/${PN}" + +DOCS=( README TODO CHANGE_LOG ) +PATCHES=( "${FILESDIR}/${P}-memleak.patch" ) + +src_compile() { + # Do nothing + # The makefile just builds the documentation again + # Not even any install targets + return +} + +src_install() { + doheader -r boost + + use doc && HTML_DOCS+=( "${WORKDIR}"/"${MY_P}"-doc/. ) + einstalldocs +} |