8000 remove libmythupnp Rtti and merge remnants of libmythservicecontracts into mythfrontend by ulmus-scott · Pull Request #1044 · MythTV/mythtv · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

remove libmythupnp Rtti and merge remnants of libmythservicecontracts into mythfrontend #1044

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 6 commits into from
May 13, 2025

Conversation

ulmus-scott
Copy link
Contributor

@bennettpeter Rtti was unused, but the mythfrontend stuff still works (except that using port 6551 prevents mythfrontend from shutting down).

Checklist

@bennettpeter
Copy link
Member

@ulmus-scott I did a quick test of mythfrontend without this pull request and it did shut down successfully after I ran one service (http://localhost:6551/Frontend/GetActionList). Is there a special condition under which it does not shut down, or are you saying that this pull request causes it to not shut down?

@ulmus-scott
Copy link
Contributor Author

@bennettpeter This pull request should not effect anything on port 6551.

To prevent proper shutdown:

  1. Launch mythfrontend from a terminal.
  2. Either:
    2.a. Open http://localhost:6551/MythFE/GetScreenShot or http://localhost:6551/MythFE/GetServDesc
    2.b. Open http://localhost:6551/MythFE/GetRemote or http://localhost:6551/MythFE/GetActionTest
    2.b.1. Sometimes I had to also press one of the buttons, but not when I tested again just now.
  3. Return to the mythfrontend window and exit normally.
  4. The window will disappear, but the process in the terminal is still running with the last log message being: "Shutting down UPnP client...". It will stay there until terminated with ^C^C.

Without accessing port 6551, the next log message occurs after about 1 second and "Exiting" about 2 seconds after that. The terminal then presents the command prompt.

@ulmus-scott
Copy link
Contributor Author

From my post to mythtv-dev:

The use of any of the pages on port 6551 cause mythfrontend to hang indefinitely when closing.

It waits indefinitely somewhere in

void MThreadPool::Stop(void)
called from
m_threadPool.Stop();
from
from

@bennettpeter
Copy link
Member

There was a similar problem of not shutting down because of a thread not terminated in mythbackend a couple of years ago. Somebody, I think maybe Stuart, fixed it.

@ulmus-scott
Copy link
Contributor Author

I fixed the shutdown issue in #1066. The presentation in master has changed slightly since I removed gContext: the GUI is freezes/the screen doesn't update on alt-tab or changing back from a different virtual desktop since the window is now destroyed after the UPnP threads are shut down.

Using std::chrono::microseconds directly is clearer and reduces
transitive includes of libmythupnp/upnputil.h.
git grep -n GetEnum
matches only a commented out line in mythtv/html/tv/schedule.qsp

I believe this was for the WebFrontend using Qt Script, but never used.

It appears to be originally Rtti::GetEnumDetails() from
MythTV@cfcaf15

Became GetEnum() in
MythTV@ad4c105

Current commented out use from
MythTV@4d7f98a
@linuxdude42 linuxdude42 merged commit 353c95c into MythTV:master May 13, 2025
8 of 11 checks passed
@ulmus-scott ulmus-scott deleted the rtti branch May 16, 2025 19:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
0