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 checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list