projects
/
buftee
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
c5cadce
)
Free memory, check queues are empty on exit.
author
Emil Mikulic
<emikulic@gmail.com>
Sun, 24 Mar 2013 17:44:37 +0000
(
04:44
+1100)
committer
Emil Mikulic
<emikulic@gmail.com>
Sun, 24 Mar 2013 17:44:37 +0000
(
04:44
+1100)
buftee.c
patch
|
blob
|
history
diff --git
a/buftee.c
b/buftee.c
index
8623515
..
ae74b08
100644
(file)
--- a/
buftee.c
+++ b/
buftee.c
@@
-338,7
+338,9
@@
static void* writer_routine(void *arg) {
unref_buf(buf);
buf = NULL;
}
unref_buf(buf);
buf = NULL;
}
- nblogx("thread exiting cleanly");
+ if (arg != logger) {
+ nblogx("thread exiting cleanly");
+ }
return NULL;
}
return NULL;
}
@@
-509,7
+511,9
@@
int main(int argc, char **argv) {
while (!STAILQ_EMPTY(&writers)) {
struct writer_thread* writer = STAILQ_FIRST(&writers);
STAILQ_REMOVE_HEAD(&writers, entries);
while (!STAILQ_EMPTY(&writers)) {
struct writer_thread* writer = STAILQ_FIRST(&writers);
STAILQ_REMOVE_HEAD(&writers, entries);
- // FIXME: free its queue?
+ if (!STAILQ_EMPTY(&writer->queue)) {
+ nblogx("queue for fd %d is not empty", writer->fd);
+ }
free(writer);
}
free(writer);
}
@@
-520,6
+524,10
@@
int main(int argc, char **argv) {
xpthread_cond_broadcast(logger->cond);
unlock(logger->mutex);
xpthread_join(logger->thread);
xpthread_cond_broadcast(logger->cond);
unlock(logger->mutex);
xpthread_join(logger->thread);
+ pthread_mutex_destroy(logger->mutex);
+ free(logger->mutex);
+ pthread_cond_destroy(logger->cond);
+ free(logger->cond);
free(logger);
warnx("exiting cleanly");
free(logger);
warnx("exiting cleanly");