[arch-commits] Commit in libevent/repos (3 files)

Anatol Pomozov anatolik at archlinux.org
Mon Jan 6 17:53:44 UTC 2020


    Date: Monday, January 6, 2020 @ 17:53:44
  Author: anatolik
Revision: 372677

archrelease: copy trunk to extra-x86_64

Added:
  libevent/repos/extra-x86_64/
  libevent/repos/extra-x86_64/0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch
    (from rev 372676, libevent/trunk/0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch)
  libevent/repos/extra-x86_64/PKGBUILD
    (from rev 372676, libevent/trunk/PKGBUILD)

-------------------------------------------------------------------+
 0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch |   31 ++++++
 PKGBUILD                                                          |   46 ++++++++++
 2 files changed, 77 insertions(+)

Copied: libevent/repos/extra-x86_64/0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch (from rev 372676, libevent/trunk/0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch)
===================================================================
--- extra-x86_64/0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch	                        (rev 0)
+++ extra-x86_64/0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch	2020-01-06 17:53:44 UTC (rev 372677)
@@ -0,0 +1,31 @@
+From 497ef904d544ac51de43934549dbeccce8e6e8f8 Mon Sep 17 00:00:00 2001
+From: Azat Khuzhin <azat at libevent.org>
+Date: Mon, 1 Jul 2019 23:54:02 +0300
+Subject: [PATCH] Warn if forked from the event loop during event_reinit()
+
+Calling fork() from the event loop is not a great idea, since at least
+it shares some internal pipes (for handling signals) before
+event_reinit() call
+
+Closes: #833
+---
+ event.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/event.c b/event.c
+index fa4f2802e..aa6c6fba3 100644
+--- a/event.c
++++ b/event.c
+@@ -1003,6 +1003,12 @@ event_reinit(struct event_base *base)
+ 
+ 	EVBASE_ACQUIRE_LOCK(base, th_base_lock);
+ 
++	if (base->running_loop) {
++		event_warnx("%s: forked from the event_loop.", __func__);
++		res = -1;
++		goto done;
++	}
++
+ 	evsel = base->evsel;
+ 
+ 	/* check if this event mechanism requires reinit on the backend */

Copied: libevent/repos/extra-x86_64/PKGBUILD (from rev 372676, libevent/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD	                        (rev 0)
+++ extra-x86_64/PKGBUILD	2020-01-06 17:53:44 UTC (rev 372677)
@@ -0,0 +1,46 @@
+# Maintainer: Tom Gundersen <teg at jklm.no>
+# Contributor: Judd <jvinet at zeroflux.org>
+
+pkgname=libevent
+pkgver=2.1.11
+pkgrel=5
+pkgdesc="An event notification library"
+arch=('x86_64')
+url="https://libevent.org/"
+license=('BSD')
+depends=('openssl')
+makedepends=('cmake' 'python')
+optdepends=('python: to use event_rpcgen.py')
+source=(https://github.com/libevent/libevent/releases/download/release-$pkgver-stable/$pkgname-$pkgver-stable.tar.gz{,.asc}
+        https://raw.githubusercontent.com/libevent/libevent/release-2.1.11-stable/cmake/Uninstall.cmake.in
+        0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch)
+sha256sums=('a65bac6202ea8c5609fd5c7e480e6d25de467ea1917c08290c521752f147283d'
+            'SKIP'
+            '1584d6e36642d930ac99d014a485fe886ec705b3f998d128c6d6f227e0454b72'
+            '436e56c74c0af0b70c43eaae6bd32b760601d2d5fa98b8d2d026ffad18474e13')
+validpgpkeys=('B35BF85BF19489D04E28C33C21194EBB165733EA'
+              '9E3AC83A27974B84D1B3401DB86086848EF8686D')
+
+prepare() {
+  cd ${pkgname}-${pkgver}-stable
+  patch -Np1 -R < ../0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch
+
+  cp -n ../Uninstall.cmake.in cmake # https://github.com/libevent/libevent/issues/914 
+}
+
+build() {
+  cd ${pkgname}-${pkgver}-stable
+  cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DEVENT__LIBRARY_TYPE=SHARED -S . -B build
+  cmake --build build
+}
+
+check() {
+  cd ${pkgname}-${pkgver}-stable
+  cmake --build build --target test
+}
+
+package() {
+  cd ${pkgname}-${pkgver}-stable
+  cmake --build build --target install -- DESTDIR="$pkgdir"
+  install -Dm 644 LICENSE "${pkgdir}"/usr/share/licenses/libevent/LICENSE
+}



More information about the arch-commits mailing list