Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-2-2
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-2-2
Commits
8d8b1194
Commit
8d8b1194
authored
Feb 11, 2012
by
Antoine Cellerier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Factorize and simplify client deletion
parent
79b98214
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
17 additions
and
25 deletions
+17
-25
share/lua/intf/modules/host.lua
share/lua/intf/modules/host.lua
+17
-25
No files found.
share/lua/intf/modules/host.lua
View file @
8d8b1194
...
...
@@ -125,25 +125,24 @@ function host()
return
vlc
.
win
.
console_read
()
end
local
function
del_client
(
client
)
local
function
del_client
(
client
,
nostdioerror
)
--client:send("Cleaning up.\r\n")
if
client
.
type
==
client_type
.
stdio
then
client
:
send
(
"Cannot delete stdin/stdout client.\n"
)
return
end
for
i
,
c
in
pairs
(
clients
)
do
if
c
==
client
then
if
client
.
type
==
client_type
.
net
or
client
.
type
==
client_type
.
telnet
then
if
client
.
wfd
~=
client
.
rfd
then
vlc
.
net
.
close
(
client
.
rfd
)
end
vlc
.
net
.
close
(
client
.
wfd
)
if
not
nostdioerror
then
client
:
send
(
"Cannot delete stdin/stdout client.\n"
)
end
elseif
clients
[
client
]
then
if
client
.
type
==
client_type
.
net
or
client
.
type
==
client_type
.
telnet
then
if
client
.
wfd
~=
client
.
rfd
then
vlc
.
net
.
close
(
client
.
rfd
)
end
clients
[
i
]
=
nil
return
vlc
.
net
.
close
(
client
.
wfd
)
end
clients
[
client
]
=
nil
else
vlc
.
msg
.
err
(
"couldn't find client to remove."
)
end
vlc
.
msg
.
err
(
"couldn't find client to remove."
)
end
local
function
switch_status
(
client
,
s
)
...
...
@@ -194,7 +193,7 @@ function host()
append
=
append
,
}
client
:
send
(
"VLC media player "
..
vlc
.
misc
.
version
()
..
"
\n
"
)
table.insert
(
clients
,
client
)
clients
[
client
]
=
client
client
:
switch_status
(
status
.
password
)
end
...
...
@@ -282,7 +281,7 @@ function host()
if
is_flag_set
(
pollfds
[
client
:
fd
()],
vlc
.
net
.
POLLERR
)
or
is_flag_set
(
pollfds
[
client
:
fd
()],
vlc
.
net
.
POLLHUP
)
or
is_flag_set
(
pollfds
[
client
:
fd
()],
vlc
.
net
.
POLLNVAL
)
then
del_client
(
client
)
client
:
del
(
)
elseif
is_flag_set
(
pollfds
[
client
:
fd
()],
vlc
.
net
.
POLLOUT
)
then
table.insert
(
wclients
,
client
)
elseif
is_flag_set
(
pollfds
[
client
:
fd
()],
vlc
.
net
.
POLLIN
)
then
...
...
@@ -319,14 +318,7 @@ function host()
local
function
destructor
(
h
)
for
_
,
client
in
pairs
(
clients
)
do
--client:send("Cleaning up.")
if
client
.
type
==
client_type
.
net
or
client
.
type
==
client_type
.
telnet
then
if
client
.
wfd
~=
client
.
rfd
then
vlc
.
net
.
close
(
client
.
rfd
)
end
vlc
.
net
.
close
(
client
.
wfd
)
end
client
:
del
(
true
)
end
end
...
...
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