]> mj.ucw.cz Git - libucw.git/commit
Logging: Introduce use counts on streams.
authorMartin Mares <mj@ucw.cz>
Fri, 13 Feb 2009 23:36:27 +0000 (00:36 +0100)
committerMartin Mares <mj@ucw.cz>
Fri, 13 Feb 2009 23:36:27 +0000 (00:36 +0100)
commitde742f43adad78a5bdda6ace083106f7264a2e16
treead7b47623e41449d9b5ed797accef9217874ea21
parent2ce5075773f3f60ef78ab8191ace071f7a4e4d66
Logging: Introduce use counts on streams.

It turned out to be quite inconvenient to have to close the substreams in
topological order. I have introduced use counts on all streams: A newly
created stream has use count of 1, whenever it is used as a substream,
the use count increases; when the count drops to 0, the stream is
automatically destroyed.

A slightly unpleasant side-effect is that the default log stream
can no longer be constant, since we modify its counter.

I have also extended log_rm_substream() to remove all substreams
when what==NULL. This is useful in log_close_stream() and also
in log_file().
ucw/log-file.c
ucw/log-stream.c
ucw/log.c
ucw/log.h