You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
3.0 KiB
91 lines
3.0 KiB
3 months ago
|
From dca84f1765496c5beb5ac418286c588eb8c268d9 Mon Sep 17 00:00:00 2001
|
||
|
From: Jitka Plesnikova <jplesnik@redhat.com>
|
||
|
Date: Thu, 18 May 2023 19:26:24 +0200
|
||
|
Subject: [PATCH] Upgrade to 1.68
|
||
|
|
||
|
---
|
||
|
lib/threads/shared.pm | 4 ++--
|
||
|
shared.xs | 21 +++++++++------------
|
||
|
2 files changed, 11 insertions(+), 14 deletions(-)
|
||
|
|
||
|
diff --git a/lib/threads/shared.pm b/lib/threads/shared.pm
|
||
|
index 1fd2899..6e67acd 100644
|
||
|
--- a/lib/threads/shared.pm
|
||
|
+++ b/lib/threads/shared.pm
|
||
|
@@ -8,7 +8,7 @@ use Config;
|
||
|
|
||
|
use Scalar::Util qw(reftype refaddr blessed);
|
||
|
|
||
|
-our $VERSION = '1.64'; # Please update the pod, too.
|
||
|
+our $VERSION = '1.68'; # Please update the pod, too.
|
||
|
my $XS_VERSION = $VERSION;
|
||
|
$VERSION = eval $VERSION;
|
||
|
|
||
|
@@ -196,7 +196,7 @@ threads::shared - Perl extension for sharing data structures between threads
|
||
|
|
||
|
=head1 VERSION
|
||
|
|
||
|
-This document describes threads::shared version 1.64
|
||
|
+This document describes threads::shared version 1.68
|
||
|
|
||
|
=head1 SYNOPSIS
|
||
|
|
||
|
diff --git a/shared.xs b/shared.xs
|
||
|
index 6a7f03c..f78542d 100644
|
||
|
--- a/shared.xs
|
||
|
+++ b/shared.xs
|
||
|
@@ -40,7 +40,7 @@
|
||
|
* proxy PVLV element with attached element magic.
|
||
|
*
|
||
|
* Pointers to the shared SV are squirrelled away in the mg->mg_ptr field
|
||
|
- * of magic (with mg_len == 0), and in the IV2PTR(SvIV(sv)) field of tied
|
||
|
+ * of magic (with mg_len == 0), and in the INT2PTR(SvIV(sv)) field of tied
|
||
|
* object SVs. These pointers have to be hidden like this because they
|
||
|
* cross interpreter boundaries, and we don't want sv_clear() and friends
|
||
|
* following them.
|
||
|
@@ -130,14 +130,11 @@
|
||
|
#include "EXTERN.h"
|
||
|
#include "perl.h"
|
||
|
#include "XSUB.h"
|
||
|
-#ifdef HAS_PPPORT_H
|
||
|
-# define NEED_sv_2pv_flags
|
||
|
-# define NEED_vnewSVpvf
|
||
|
-# define NEED_warner
|
||
|
-# define NEED_newSVpvn_flags
|
||
|
-# include "ppport.h"
|
||
|
-# include "shared.h"
|
||
|
-#endif
|
||
|
+#define NEED_sv_2pv_flags
|
||
|
+#define NEED_vnewSVpvf
|
||
|
+#define NEED_warner
|
||
|
+#define NEED_newSVpvn_flags
|
||
|
+#include "ppport.h"
|
||
|
|
||
|
#ifndef CLANG_DIAG_IGNORE
|
||
|
# define CLANG_DIAG_IGNORE(x)
|
||
|
@@ -704,10 +701,10 @@ Perl_sharedsv_cond_timedwait(perl_cond *cond, perl_mutex *mut, double abs)
|
||
|
abs -= (NV)ts.tv_sec;
|
||
|
ts.tv_nsec = (long)(abs * 1000000000.0);
|
||
|
|
||
|
- CLANG_DIAG_IGNORE_STMT(-Wthread-safety);
|
||
|
+ CLANG_DIAG_IGNORE(-Wthread-safety)
|
||
|
/* warning: calling function 'pthread_cond_timedwait' requires holding mutex 'mut' exclusively [-Wthread-safety-analysis] */
|
||
|
switch (pthread_cond_timedwait(cond, mut, &ts)) {
|
||
|
- CLANG_DIAG_RESTORE_STMT;
|
||
|
+ CLANG_DIAG_RESTORE
|
||
|
|
||
|
case 0: got_it = 1; break;
|
||
|
case ETIMEDOUT: break;
|
||
|
@@ -1145,7 +1142,7 @@ sharedsv_array_mg_CLEAR(pTHX_ SV *sv, MAGIC *mg)
|
||
|
I32 items = isav ? AvFILLp((AV *)ssv) + 1 : 0;
|
||
|
HE *iter;
|
||
|
if (!isav) hv_iterinit((HV *)ssv);
|
||
|
- while (isav ? items-- : !!(iter = hv_iternext((HV *)ssv))) {
|
||
|
+ while (isav ? items-- : cBOOL(iter = hv_iternext((HV *)ssv))) {
|
||
|
SV *sv = isav ? *svp++ : HeVAL(iter);
|
||
|
if (!sv) continue;
|
||
|
if ( (SvOBJECT(sv) || (SvROK(sv) && (sv = SvRV(sv))))
|
||
|
--
|
||
|
2.40.1
|
||
|
|