perl-threads-shared/threads-shared-1.64-Upgrade...

91 lines
3.0 KiB
Diff

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