Mercurial > audlegacy-plugins
changeset 3133:005959102811
neon: avoid deadlocks in NEON_STATUS_ERROR codepath.
| author | William Pitcock <nenolod@atheme.org> |
|---|---|
| date | Thu, 07 May 2009 00:36:39 -0500 |
| parents | f8686c591e49 |
| children | 354e90c81253 |
| files | src/neon/neon.c |
| diffstat | 1 files changed, 3 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/neon/neon.c Thu May 07 00:30:11 2009 -0500 +++ b/src/neon/neon.c Thu May 07 00:36:39 2009 -0500 @@ -1050,10 +1050,13 @@ */ _DEBUG("<%p> NEON_READER_ERROR happened. Terminating reader thread and marking EOF.", h); h->reader_status.status = NEON_READER_EOF; + g_mutex_unlock(h->reader_status.mutex); if (NULL != h->reader) kill_reader(h); + g_mutex_lock(h->reader_status.mutex); + case NEON_READER_EOF: /* * If there still is data in the buffer, carry on.
