Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
30d90a49
Commit
30d90a49
authored
Aug 30, 2014
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wl_shell_surface: fix dead lock when destroying thread
parent
aed1b6da
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
10 additions
and
1 deletion
+10
-1
modules/video_output/Modules.am
modules/video_output/Modules.am
+1
-1
modules/video_output/wl/shell_surface.c
modules/video_output/wl/shell_surface.c
+9
-0
No files found.
modules/video_output/Modules.am
View file @
30d90a49
...
...
@@ -131,7 +131,7 @@ endif
### Wayland ###
libwl_shell_surface_plugin_la_SOURCES = wl/shell_surface.c
libwl_shell_surface_plugin_la_CFLAGS = $(WAYLAND_CLIENT_CFLAGS)
libwl_shell_surface_plugin_la_LIBADD = $(WAYLAND_CLIENT_LIBS)
libwl_shell_surface_plugin_la_LIBADD = $(WAYLAND_CLIENT_LIBS)
$(LIBPTHREAD)
if HAVE_WAYLAND
vout_LTLIBRARIES += libwl_shell_surface_plugin.la
endif
...
...
modules/video_output/wl/shell_surface.c
View file @
30d90a49
...
...
@@ -46,6 +46,13 @@ struct vout_window_sys_t
vlc_thread_t
thread
;
};
static
void
cleanup_wl_display_read
(
void
*
data
)
{
struct
wl_display
*
display
=
data
;
wl_display_cancel_read
(
display
);
}
/** Background thread for Wayland shell events handling */
static
void
*
Thread
(
void
*
data
)
{
...
...
@@ -54,6 +61,7 @@ static void *Thread(void *data)
struct
pollfd
ufd
[
1
];
int
canc
=
vlc_savecancel
();
vlc_cleanup_push
(
cleanup_wl_display_read
,
display
);
ufd
[
0
].
fd
=
wl_display_get_fd
(
display
);
ufd
[
0
].
events
=
POLLIN
;
...
...
@@ -73,6 +81,7 @@ static void *Thread(void *data)
wl_display_dispatch_pending
(
display
);
}
assert
(
0
);
vlc_cleanup_pop
();
//vlc_restorecancel(canc);
//return NULL;
}
...
...
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