[licq-im/licq] fd62d3: licq: Drop log messages instead of deadlocking
GitHub <[email protected]> Mon, 14 Jan 2013 12:34:29 -0800
| Newsgroups | gmane.network.licq.cvs |
|---|---|
| Message-ID | <[email protected]> |
Branch: refs/heads/1.7-stable
Home: https://github.com/licq-im/licq
Commit: fd62d36e80093a4e39c2266d4b77e4a138e9c2be
https://github.com/licq-im/licq/commit/fd62d36e80093a4e39c2266d4b77e4a138e9c2be
Author: Anders Olofsson <[email protected]>
Date: 2013-01-12 (Sat, 12 Jan 2013)
Changed paths:
M licq/include/licq/pipe.h
M licq/src/logging/pluginlogsink.cpp
M licq/src/utils/pipe.cpp
Log Message:
-----------
licq: Drop log messages instead of deadlocking
If something starts flooding log messages faster than a sink can
process them, the pipe in PluginLogSink will fill up and cause the
sender to block. The pipe is written while mutexes are held, this will
cause a deadlock as the log sinks need to take the same mutex to read
the pipe.
This deadlock could also be resolved by releasing the mutex in
PluginLogSink before accessing the pipe. However, the caller
(LogDistributor) also has a mutex for all the sinks which could also
deadlock if another source tries to log something at the same time, and
even if that is solved the second source would just hang on writing to
the pipe.
Commit: 99b6f98517ff5b3a99e2ef6e036c8098f7d0afe0
https://github.com/licq-im/licq/commit/99b6f98517ff5b3a99e2ef6e036c8098f7d0afe0
Author: Anders Olofsson <[email protected]>
Date: 2013-01-12 (Sat, 12 Jan 2013)
Changed paths:
M licq/src/icq/icq-srv.cpp
Log Message:
-----------
icq: Don't fail on buddy icon hash longer than 16
Commit: dd9c41c4beb7196f06b75e0192722667bbe111bd
https://github.com/licq-im/licq/commit/dd9c41c4beb7196f06b75e0192722667bbe111bd
Author: Anders Olofsson <[email protected]>
Date: 2013-01-14 (Mon, 14 Jan 2013)
Changed paths:
M licq/src/contactlist/userhistory.cpp
Log Message:
-----------
licq: Don't break on empty line in history file
Commit: 94c5ce5e43c59a9bead90cd1c44bba92ed0f7c1e
https://github.com/licq-im/licq/commit/94c5ce5e43c59a9bead90cd1c44bba92ed0f7c1e
Author: Anders Olofsson <[email protected]>
Date: 2013-01-14 (Mon, 14 Jan 2013)
Changed paths:
M licq/src/userevents.cpp
Log Message:
-----------
licq: Replace newlines before writing history
Compare: https://github.com/licq-im/licq/compare/12c8f4b0bc83...94c5ce5e43c5