summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /dev-cpp/threadpool
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'dev-cpp/threadpool')
-rw-r--r--dev-cpp/threadpool/Manifest2
-rw-r--r--dev-cpp/threadpool/files/threadpool-0.2.5-memleak.patch22
-rw-r--r--dev-cpp/threadpool/metadata.xml11
-rw-r--r--dev-cpp/threadpool/threadpool-0.2.5.ebuild47
4 files changed, 82 insertions, 0 deletions
diff --git a/dev-cpp/threadpool/Manifest b/dev-cpp/threadpool/Manifest
new file mode 100644
index 000000000000..403c3a5c583b
--- /dev/null
+++ b/dev-cpp/threadpool/Manifest
@@ -0,0 +1,2 @@
+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
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..886ce5836012
--- /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-0_2_5-src/threadpool/boost/threadpool/detail/pool_core.hpp 2012-09-27 22:33:21.098626892 -0700
++++ threadpool-0_2_5-src/threadpool/boost/threadpool/detail/pool_core.hpp 2012-09-27 22:51:12.291997839 -0700
+@@ -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..47b64ee3048f
--- /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>
+ <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.ebuild b/dev-cpp/threadpool/threadpool-0.2.5.ebuild
new file mode 100644
index 000000000000..6b82416dade7
--- /dev/null
+++ b/dev-cpp/threadpool/threadpool-0.2.5.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+
+inherit base
+
+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}"
+
+PATCHES=( "${FILESDIR}/${P}-memleak.patch" )
+
+src_prepare() {
+ base_src_prepare
+}
+
+src_compile() {
+ # Do nothing
+ # The makefile just builds the documentation again
+ # Not even any install targets
+ :
+}
+
+src_install() {
+ insinto /usr/include/
+ doins -r boost
+ dodoc README TODO CHANGE_LOG
+ if use doc; then
+ dohtml -r "${WORKDIR}"/"${MY_P}"-doc/
+ fi
+}