alsamixer: Fix X-win related crash for PulseAudio plugin (bad linking)

A lot of reports that alsamixer crashes in X terminal when the PulseAudio
CTL plugin is activated were entered to the tracking systems.

I figured that there is a linking clash for the shutdown() function.
The shutdown() function in glibc is socket related, but the alsamixer code
redefines this function and appearently that under some linking
circumstances - which PA client invokes during the runtime dynamic linking
- the wrong function is called.

This patch, for safety, renames the shutdown() function from alsamixer
to app_shutdown(), but it might make sense to figure the real linking
culprit to avoid future surprises.

Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Jaroslav Kysela 2011-11-02 17:27:47 +01:00
parent af0bf78505
commit 4c09aaa5c1
4 changed files with 5 additions and 5 deletions

View file

@ -130,6 +130,6 @@ int main(int argc, char *argv[])
mainloop();
shutdown();
app_shutdown();
return 0;
}

View file

@ -26,14 +26,14 @@
void fatal_error(const char *msg)
{
shutdown();
app_shutdown();
fprintf(stderr, "%s\n", msg);
exit(EXIT_FAILURE);
}
void fatal_alsa_error(const char *msg, int err)
{
shutdown();
app_shutdown();
fprintf(stderr, _("%s: %s\n"), msg, snd_strerror(err));
exit(EXIT_FAILURE);
}

View file

@ -52,7 +52,7 @@ void initialize_curses(bool use_color)
snd_lib_error_set_handler(black_hole_error_handler);
}
void shutdown(void)
void app_shutdown(void)
{
if (curses_initialized) {
clear();

View file

@ -5,6 +5,6 @@
void initialize_curses(bool use_color);
void mainloop(void);
void shutdown(void);
void app_shutdown(void);
#endif