gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] gawk branch, zos-debug, updated. gawk-4.1.0-4296-g11dd649


From: Arnold Robbins
Subject: [SCM] gawk branch, zos-debug, updated. gawk-4.1.0-4296-g11dd649
Date: Thu, 29 Jul 2021 10:25:04 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, zos-debug has been updated
       via  11dd649bce8039773a489975f65b565e7ec9a06f (commit)
      from  ca30ae5129fab9b8976d8466114ca7ce97e3466a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=11dd649bce8039773a489975f65b565e7ec9a06f

commit 11dd649bce8039773a489975f65b565e7ec9a06f
Author: Arnold D. Robbins <arnold@skeeve.com>
Date:   Thu Jul 29 08:24:56 2021 -0600

    More debug.

diff --git a/awk.h b/awk.h
index 192b8bb..bad0459 100644
--- a/awk.h
+++ b/awk.h
@@ -1285,7 +1285,7 @@ UPREF_real(NODE *r, const char *file, int line, const 
char *func)
 }
 #define UPREF(r) UPREF_real((r), __FILE__, __LINE__, __func__)
 
-extern void r_unref(NODE *tmp);
+extern void r_unref(NODE *tmp, const char *file, int line, const char *func);
 
 static inline void
 DEREF_real(NODE *r, const char *file, int line, const char *func)
@@ -1297,7 +1297,7 @@ DEREF_real(NODE *r, const char *file, int line, const 
char *func)
        if (--r->valref > 0)
                return;
 #endif
-       r_unref(r);
+       r_unref(r, file, line, func);
 }
 #define DEREF(r) DEREF_real((r), __FILE__, __LINE__, __func__)
 
@@ -1966,7 +1966,7 @@ unref_real(NODE *r, const char *file, int line, const 
char *func)
                fprintf(stderr, "%s:%d:%s: decrement 2\n", file, line, func);
        assert(r == NULL || r->valref > 0);
        if (r != NULL && --r->valref <= 0)
-               r_unref(r);
+               r_unref(r, file, line, func);
 }
 #define unref(r) unref_real((r), __FILE__, __LINE__, __func__)
 
@@ -2101,14 +2101,14 @@ assoc_set_real(NODE *array, NODE *sub, NODE *value,
        if (*lhs == watched)
                fprintf(stderr, "assoc_set 1: called from %s:%d:%s\n",
                                file, line, func);
-       unref(*lhs);
+       unref_real(*lhs, file, line, func);
        *lhs = value;
        if (array->astore != NULL)
                (*array->astore)(array, sub);
        if (sub == watched)
                fprintf(stderr, "assoc_set 1: called from %s:%d:%s\n",
                                file, line, func);
-       unref(sub);
+       unref_real(sub, file, line, func);
 }
 #define assoc_set(a, s, v) assoc_set_real(a, s, v, __FILE__, __LINE__, 
__func__)
 
diff --git a/node.c b/node.c
index 63b3b6f..46eda29 100644
--- a/node.c
+++ b/node.c
@@ -503,8 +503,13 @@ make_typed_regex(const char *re, size_t len)
 /* unref --- remove reference to a particular node */
 
 void
-r_unref(NODE *tmp)
+r_unref(NODE *tmp, const char *file, int line, const char *func)
 {
+       extern NODE *watched;
+
+       if (tmp == watched)
+               fprintf(stderr, "r_unref, invoked from %s:%d:%s\n", file, line, 
func);
+
 #ifdef GAWKDEBUG
        /* Do the same as in awk.h:unref().  */
        assert(tmp == NULL || tmp->valref > 0);

-----------------------------------------------------------------------

Summary of changes:
 awk.h  | 10 +++++-----
 node.c |  7 ++++++-
 2 files changed, 11 insertions(+), 6 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]