Changeset: 99e19cee8d96 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=99e19cee8d96
Modified Files:
common/utils/matomic.h
gdk/gdk_system.c
gdk/gdk_system.h
testing/Mtest.py.in
Branch: default
Log Message:
Merge with Apr2019 branch.
diffs (106 lines):
diff --git a/common/utils/matomic.h b/common/utils/matomic.h
--- a/common/utils/matomic.h
+++ b/common/utils/matomic.h
@@ -14,6 +14,7 @@
* The following operations are defined:
* ATOMIC_VAR_INIT -- initializer for the variable (not necessarily atomic!);
* ATOMIC_INIT -- initialize the variable (not necessarily atomic!);
+ * ATOMIC_DESTROY -- destroy the variable
* ATOMIC_GET -- return the value of a variable;
* ATOMIC_SET -- set the value of a variable;
* ATOMIC_XCG -- set the value of a variable, return original value;
@@ -83,6 +84,7 @@ typedef unsigned long long ATOMIC_BASE_T
#endif
#define ATOMIC_INIT(var, val) atomic_init(var, (ATOMIC_BASE_TYPE) (val))
+#define ATOMIC_DESTROY(var) ((void) 0)
#define ATOMIC_GET(var) atomic_load(var)
#define ATOMIC_SET(var, val) atomic_store(var, (ATOMIC_BASE_TYPE) (val))
#define ATOMIC_XCG(var, val) atomic_exchange(var, (ATOMIC_BASE_TYPE) (val))
@@ -136,6 +138,7 @@ typedef volatile int64_t ATOMIC_TYPE;
typedef int64_t ATOMIC_BASE_TYPE;
#define ATOMIC_VAR_INIT(val) (val)
#define ATOMIC_INIT(var, val) (*(var) = (val))
+#define ATOMIC_DESTROY(var) ((void) 0)
#ifdef __INTEL_COMPILER
#define ATOMIC_GET(var) _InterlockedExchangeAdd64(var, 0)
@@ -173,6 +176,7 @@ typedef volatile int ATOMIC_TYPE;
typedef int ATOMIC_BASE_TYPE;
#define ATOMIC_VAR_INIT(val) (val)
#define ATOMIC_INIT(var, val) (*(var) = (val))
+#define ATOMIC_DESTROY(var) ((void) 0)
#ifdef __INTEL_COMPILER
#define ATOMIC_GET(var) _InterlockedExchangeAdd(var, 0)
@@ -243,6 +247,7 @@ typedef volatile int ATOMIC_TYPE;
#endif
#define ATOMIC_VAR_INIT(val) (val)
#define ATOMIC_INIT(var, val) (*(var) = (val))
+#define ATOMIC_DESTROY(var) ((void) 0)
#define ATOMIC_GET(var) __atomic_load_n(var, __ATOMIC_SEQ_CST)
#define ATOMIC_SET(var, val) __atomic_store_n(var, (ATOMIC_BASE_TYPE) (val),
__ATOMIC_SEQ_CST)
@@ -284,6 +289,8 @@ ATOMIC_INIT(ATOMIC_TYPE *var, ATOMIC_BAS
}
#define ATOMIC_INIT(var, val) ATOMIC_INIT((var), (ATOMIC_BASE_TYPE) (val))
+#define ATOMIC_DESTROY(var) pthread_mutex_destroy(&(var)->lck)
+
static inline ATOMIC_BASE_TYPE
ATOMIC_GET(ATOMIC_TYPE *var)
{
diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c
--- a/gdk/gdk_system.c
+++ b/gdk/gdk_system.c
@@ -296,6 +296,7 @@ rm_winthread(struct winthread *w)
if (*wp)
*wp = w->next;
LeaveCriticalSection(&winthread_cs);
+ ATOMIC_DESTROY(&w->exited);
free(w);
}
@@ -617,6 +618,7 @@ rm_posthread_locked(struct posthread *p)
;
if (*pp)
*pp = p->next;
+ ATOMIC_DESTROY(&p->exited);
free(p);
}
diff --git a/gdk/gdk_system.h b/gdk/gdk_system.h
--- a/gdk/gdk_system.h
+++ b/gdk/gdk_system.h
@@ -256,6 +256,8 @@ gdk_export int MT_join_thread(MT_Id t);
break; \
} \
ATOMIC_CLEAR(&GDKlocklistlock); \
+ ATOMIC_DESTROY(&(l)->contention); \
+ ATOMIC_DESTROY(&(l)->sleep); \
} \
} while (0)
diff --git a/testing/Mtest.py.in b/testing/Mtest.py.in
--- a/testing/Mtest.py.in
+++ b/testing/Mtest.py.in
@@ -2803,8 +2803,8 @@ def killProc(proc, outfile = None, cmd =
proc.killed = True
if proc.onechild:
if procdebug:
- print('killProc: calling proc.terminate() on PID %d' % proc.pid)
- proc.terminate()
+ print('killProc: calling proc.kill() on PID %d' % proc.pid)
+ proc.kill()
elif os.name == 'nt':
if procdebug:
print('killProc: starting process "taskkill" "/F" "/T" "/PID"
"%s"\n' % str(proc.pid))
@@ -2814,7 +2814,7 @@ def killProc(proc, outfile = None, cmd =
out, err = p.communicate()
if procdebug:
print('killProc: process exited "taskkill" "/F" "/T" "/PID" "%s"
(%s)\n' % (str(proc.pid), proc.returncode))
- proc.terminate()
+ proc.kill()
else:
killchildren(proc.pid)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list