* sync libevent with main arch

This commit is contained in:
Alexander Baldeck 2019-09-02 12:08:11 +00:00
parent d22aca7d3a
commit 90f459c62c
2 changed files with 41 additions and 3 deletions

View File

@ -0,0 +1,31 @@
From 497ef904d544ac51de43934549dbeccce8e6e8f8 Mon Sep 17 00:00:00 2001
From: Azat Khuzhin <azat@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 */

View File

@ -4,19 +4,26 @@
pkgname=libevent
pkgver=2.1.11
pkgrel=1
pkgrel=2
pkgdesc="An event notification library"
arch=(x86_64 powerpc64le)
url="https://libevent.org/"
license=('BSD')
depends=('openssl')
optdepends=('python2: to use event_rpcgen.py')
source=(https://github.com/libevent/libevent/releases/download/release-$pkgver-stable/$pkgname-$pkgver-stable.tar.gz{,.asc})
source=(https://github.com/libevent/libevent/releases/download/release-$pkgver-stable/$pkgname-$pkgver-stable.tar.gz{,.asc}
0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch)
sha256sums=('a65bac6202ea8c5609fd5c7e480e6d25de467ea1917c08290c521752f147283d'
'SKIP')
'SKIP'
'436e56c74c0af0b70c43eaae6bd32b760601d2d5fa98b8d2d026ffad18474e13')
validpgpkeys=('B35BF85BF19489D04E28C33C21194EBB165733EA'
'9E3AC83A27974B84D1B3401DB86086848EF8686D')
prepare() {
cd ${pkgname}-${pkgver}-stable
patch -Np1 -R < ../0001-Warn-if-forked-from-the-event-loop-during-event_reinit.patch
}
build() {
cd ${pkgname}-${pkgver}-stable
./autogen.sh