Changeset: 39f9667e99e6 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/39f9667e99e6
Modified Files:
        gdk/gdk_join.c
Branch: default
Log Message:

Add missing locks.


diffs (26 lines):

diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c
--- a/gdk/gdk_join.c
+++ b/gdk/gdk_join.c
@@ -2716,6 +2716,11 @@ hashjoin(BAT **r1p, BAT **r2p, BAT *l, B
                HASHJOIN(uuid);
                break;
        default:
+               if (!hash_cand) {
+                       MT_rwlock_rdlock(&r->batIdxLock);
+                       locked = true;  /* in case we abandon */
+                       hsh = r->thash; /* re-initialize inside lock */
+               }
                while (lci->next < lci->ncand) {
                        lo = canditer_next(lci);
                        if (BATtvoid(l)) {
@@ -2820,6 +2825,10 @@ hashjoin(BAT **r1p, BAT **r2p, BAT *l, B
                        if (nr > 0 && BATcount(r1) > nr)
                                r1->trevsorted = false;
                }
+               if (!hash_cand) {
+                       locked = false;
+                       MT_rwlock_rdunlock(&r->batIdxLock);
+               }
                break;
        }
        if (hash_cand) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to