upg curl
This commit is contained in:
parent
36b8213689
commit
9b41834fc2
3 changed files with 63 additions and 6 deletions
|
@ -0,0 +1,40 @@
|
|||
From 52e822173aa3cd4f610531d32fbf943f026cdca6 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Weißschuh <thomas@t-8ch.de>
|
||||
Date: Sun, 3 Jul 2022 18:20:44 +0200
|
||||
Subject: select: do not return fatal error on EINTR from poll()
|
||||
|
||||
The same was done for select() in 5912da25 but poll() was missed.
|
||||
|
||||
Bug: https://bugs.archlinux.org/task/75201
|
||||
Reported-by: Alexandre Bury (gyscos at archlinux)
|
||||
|
||||
Ref: https://github.com/curl/curl/issues/8921
|
||||
Ref: https://github.com/curl/curl/pull/8961
|
||||
Ref: https://github.com/curl/curl/commit/5912da25#r77584294
|
||||
|
||||
Closes https://github.com/curl/curl/pull/9091
|
||||
---
|
||||
lib/select.c | 6 +++++-
|
||||
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/select.c b/lib/select.c
|
||||
index c16358d56..2ac074677 100644
|
||||
--- a/lib/select.c
|
||||
+++ b/lib/select.c
|
||||
@@ -310,8 +310,12 @@ int Curl_poll(struct pollfd ufds[], unsigned int nfds, timediff_t timeout_ms)
|
||||
else
|
||||
pending_ms = 0;
|
||||
r = poll(ufds, nfds, pending_ms);
|
||||
- if(r <= 0)
|
||||
+ if(r <= 0) {
|
||||
+ if((r == -1) && (SOCKERRNO == EINTR))
|
||||
+ /* make EINTR from select or poll not a "lethal" error */
|
||||
+ r = 0;
|
||||
return r;
|
||||
+ }
|
||||
|
||||
for(i = 0; i < nfds; i++) {
|
||||
if(ufds[i].fd == CURL_SOCKET_BAD)
|
||||
--
|
||||
cgit v1.2.3-18-g5258
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
pkgbase=curl
|
||||
pkgname=(curl libcurl-compat libcurl-gnutls)
|
||||
pkgver=7.84.0
|
||||
pkgrel=01
|
||||
pkgrel=02
|
||||
pkgdesc='An URL retrieval utility and library - w/o ipv6 & zstd'
|
||||
arch=('x86_64')
|
||||
url='https://curl.haxx.se'
|
||||
|
@ -17,7 +17,8 @@ depends=('ca-certificates' 'brotli' 'libbrotlidec.so' 'krb5' 'libgssapi_krb5.so'
|
|||
'libidn2' 'libidn2.so' 'libnghttp2' 'libpsl' 'libpsl.so' 'libssh2' 'libssh2.so'
|
||||
'openssl' 'zlib')
|
||||
provides=('libcurl.so')
|
||||
source=("https://curl.haxx.se/download/${pkgname}-${pkgver}.tar.gz"{,.asc})
|
||||
source=("https://curl.haxx.se/download/${pkgname}-${pkgver}.tar.gz"{,.asc}
|
||||
'0001-select-do-not-return-fatal-error-on-EINTR-from-poll.patch')
|
||||
|
||||
_configure_options=(
|
||||
--prefix='/usr'
|
||||
|
@ -36,6 +37,13 @@ _configure_options=(
|
|||
--with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'
|
||||
)
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${pkgbase}-${pkgver}"
|
||||
|
||||
patch -Np1 < ../0001-select-do-not-return-fatal-error-on-EINTR-from-poll.patch
|
||||
}
|
||||
|
||||
|
||||
build() {
|
||||
mkdir build-curl{,-compat,-gnutls}
|
||||
|
||||
|
@ -124,4 +132,5 @@ license=('MIT')
|
|||
validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg
|
||||
|
||||
sha256sums=(3c6893d38d054d4e378267166858698899e9d87258e8ff1419d020c395384535 # curl-7.84.0.tar.gz
|
||||
68c7f4ff72aaceb2a3d2bb6790f66af081a33172f915de1ba2e26d46b63eb71d) # curl-7.84.0.tar.gz.asc
|
||||
68c7f4ff72aaceb2a3d2bb6790f66af081a33172f915de1ba2e26d46b63eb71d # curl-7.84.0.tar.gz.asc
|
||||
cd176e20077f5a91008f5acbbe39631caf0c0feb9d595fcf966b1f5ae7f777a8) # 0001-select-do-not-return-fatal-error-on-EINTR-from-poll.patch
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
pkgbase=curl
|
||||
pkgname=(curl libcurl-compat libcurl-gnutls)
|
||||
pkgver=7.84.0
|
||||
pkgrel=1
|
||||
pkgrel=2
|
||||
pkgdesc='An URL retrieval utility and library'
|
||||
arch=('x86_64')
|
||||
url='https://curl.haxx.se'
|
||||
|
@ -17,9 +17,11 @@ depends=('ca-certificates' 'brotli' 'libbrotlidec.so' 'krb5' 'libgssapi_krb5.so'
|
|||
'libidn2' 'libidn2.so' 'libnghttp2' 'libpsl' 'libpsl.so' 'libssh2' 'libssh2.so'
|
||||
'openssl' 'zlib' 'zstd' 'libzstd.so')
|
||||
provides=('libcurl.so')
|
||||
source=("https://curl.haxx.se/download/${pkgname}-${pkgver}.tar.gz"{,.asc})
|
||||
source=("https://curl.haxx.se/download/${pkgname}-${pkgver}.tar.gz"{,.asc}
|
||||
'0001-select-do-not-return-fatal-error-on-EINTR-from-poll.patch')
|
||||
sha512sums=('8133baf48dfd93531ce0a226b54cb153fd58bb0c1ffe8159cee0c0aa23ce210192c572e8ee01f3d75a87b609a580e76929df1e66635be59c177b0cb8076043b2'
|
||||
'SKIP')
|
||||
'SKIP'
|
||||
'3d771caae23f4b602e57788c61d3f4eaccbd3a73e7256ef7dc2699e574554246280afde1f9eac10c54a498aa0d25de6e696ea36f65389e45ec8ec9abcb3bfb88')
|
||||
validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg
|
||||
|
||||
_configure_options=(
|
||||
|
@ -37,6 +39,12 @@ _configure_options=(
|
|||
--with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'
|
||||
)
|
||||
|
||||
prepare() {
|
||||
cd "${srcdir}/${pkgbase}-${pkgver}"
|
||||
|
||||
patch -Np1 < ../0001-select-do-not-return-fatal-error-on-EINTR-from-poll.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
mkdir build-curl{,-compat,-gnutls}
|
||||
|
||||
|
|
Loading…
Reference in a new issue