Skip to content
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

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

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

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.

@bennettpeter bennettpeter self-assigned this Feb 19, 2025
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
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.

2 participants