Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
mpd
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Иван Мажукин
mpd
Commits
f88f1fca
Commit
f88f1fca
authored
8 years ago
by
Max Kellermann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
output/httpd: move Close() lock into the I/O thread
Fixes a potential deadlock introduced by commit
94528735
parent
26e4a40c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
2 additions
and
3 deletions
+2
-3
HttpdOutputPlugin.cxx
src/output/plugins/httpd/HttpdOutputPlugin.cxx
+2
-3
No files found.
src/output/plugins/httpd/HttpdOutputPlugin.cxx
View file @
f88f1fca
...
@@ -266,14 +266,13 @@ HttpdOutput::Open(AudioFormat &audio_format)
...
@@ -266,14 +266,13 @@ HttpdOutput::Open(AudioFormat &audio_format)
inline
void
inline
void
HttpdOutput
::
Close
()
HttpdOutput
::
Close
()
{
{
const
std
::
lock_guard
<
Mutex
>
protect
(
mutex
);
assert
(
open
);
assert
(
open
);
open
=
false
;
delete
timer
;
delete
timer
;
BlockingCall
(
GetEventLoop
(),
[
this
](){
BlockingCall
(
GetEventLoop
(),
[
this
](){
const
std
::
lock_guard
<
Mutex
>
protect
(
mutex
);
open
=
false
;
clients
.
clear_and_dispose
(
DeleteDisposer
());
clients
.
clear_and_dispose
(
DeleteDisposer
());
});
});
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment