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

Prevent ocaml_gstreamer_loop_quit from freezing during shutdown #11

Closed
wants to merge 1 commit into from
Closed

Conversation

crocket
Copy link

@crocket crocket commented Jul 26, 2019

Currently, it calls g_main_loop_quit(loop) directly.
Thus, g_main_loop_quit can be called before g_main_loop_run is called if liquidsoap tries to exit immediately after it is started because thread execution order is undetermined.

If g_main_loop_quit can be called before g_main_loop_run is called, ocaml-gstreamer can freeze.

I fixed the issue by making it call g_main_loop_quit in the loop.
If it is called in the loop, there is no freezing during shutdown.

Currently, it calls g_main_loop_quit(loop) directly.
Thus, g_main_loop_quit can be called before g_main_loop_run is called
if liquidsoap tries to exit immediately after it is started.
Thread execution order is undetermined.

I fixed the issue by making it call g_main_loop_quit in the loop.
If it is called in the loop, there is no freezing.
@AxisNL
Copy link

AxisNL commented Sep 10, 2019

Hi, I'm just a stupid end-user. I see this issue passed all checks and was done on July 25th, but the latest commit to master was done on July 1st. I don't get it, but I'm no dev. Is this change not into the production code yet? I just want this code to be 'fixed', so I can ask the liquidsoap rpm repo experts to do a recompile. I want to upgrade liquidsoap on a few servers so it will stop hanging, and I don't want to compile and deploy code myself (well, I deploy rpm's using spacewalk).

Help?

@crocket
Copy link
Author

crocket commented Sep 11, 2019

@AxisNL Ask your linux distribution's maintainers to apply this pull request as a patch to the latest release.

@crocket
Copy link
Author

crocket commented May 4, 2022

Closing due to inactivity and because I don't use this anymore.

@crocket crocket closed this May 4, 2022
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