Changeset: b030a5629d9a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/b030a5629d9a
Modified Files:
gdk/gdk_system.c
gdk/gdk_utils.c
Branch: resource_management
Log Message:
Some small fixes.
diffs (51 lines):
diff --git a/gdk/gdk_system.c b/gdk/gdk_system.c
--- a/gdk/gdk_system.c
+++ b/gdk/gdk_system.c
@@ -366,10 +366,10 @@ static void
rm_mtthread(struct mtthread *t)
{
struct mtthread **pt;
- allocator *ta = t->ma;
assert(t != &mainthread);
thread_lock();
+ allocator *ta = t->ma;
t->ma = NULL;
for (pt = &mtthreads; *pt && *pt != t; pt = &(*pt)->next)
;
@@ -454,7 +454,11 @@ MT_thread_register(void)
.semawait = ATOMIC_PTR_VAR_INIT(NULL),
};
snprintf(self->threadname, sizeof(self->threadname), "foreign %zu",
self->tid);
- self->ma = create_allocator(NULL, self->threadname, false),
+ self->ma = create_allocator(NULL, self->threadname, false);
+ if (self->ma == NULL) {
+ free(self);
+ return false;
+ }
thread_setself(self);
thread_lock();
self->next = mtthreads;
diff --git a/gdk/gdk_utils.c b/gdk/gdk_utils.c
--- a/gdk/gdk_utils.c
+++ b/gdk/gdk_utils.c
@@ -2803,12 +2803,13 @@ sa_close_to(allocator *sa, allocator_sta
assert((state->nr > 0) && (state->nr <= sa->nr));
assert(state->used <= SA_BLOCK_SIZE);
if (state->nr != sa->nr || state->used != sa->used) {
- _sa_free_blks(sa, state->nr);
- sa->nr = state->nr;
- sa->used = state->used;
- sa->usedmem = state->usedmem;
- sa->objects = state->objects;
- sa->inuse = state->inuse;
+ allocator_state state_save = *state;
+ _sa_free_blks(sa, state_save.nr);
+ sa->nr = state_save.nr;
+ sa->used = state_save.used;
+ sa->usedmem = state_save.usedmem;
+ sa->objects = state_save.objects;
+ sa->inuse = state_save.inuse;
}
}
if (sa->tmp_used > 0) {
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]