projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Do not uninitialize u.m.thread atomic in in finish but in free.
[silc.git]
/
lib
/
silcutil
/
silcfsm.c
diff --git
a/lib/silcutil/silcfsm.c
b/lib/silcutil/silcfsm.c
index 5139c0cd7f7be2f2c0f7b45f1e76dd1d7752da8d..f22540cd0af5ea2800a1127e56a3b9cb5e57edbb 100644
(file)
--- a/
lib/silcutil/silcfsm.c
+++ b/
lib/silcutil/silcfsm.c
@@
-151,6
+151,9
@@
SILC_TASK_CALLBACK(silc_fsm_free_final)
if (f->thread && f->u.t.event)
silc_fsm_event_free(f->u.t.event);
if (f->thread && f->u.t.event)
silc_fsm_event_free(f->u.t.event);
+ if (!f->thread)
+ silc_atomic_uninit32(&f->u.m.threads);
+
silc_free(f);
}
silc_free(f);
}
@@
-485,7
+488,6
@@
SILC_TASK_CALLBACK(silc_fsm_finish_fsm)
silc_mutex_free(fsm->u.m.lock);
fsm->u.m.lock = NULL;
}
silc_mutex_free(fsm->u.m.lock);
fsm->u.m.lock = NULL;
}
- silc_atomic_uninit32(&fsm->u.m.threads);
/* Call the destructor callback. */
if (fsm->destructor)
/* Call the destructor callback. */
if (fsm->destructor)