mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	cli-command: don't exit on "module already loaded" errors
Some modules may only be loaded once, and trying to load them twice from default.pa makes PulseAudio startup fail. While that could be considered a user error, it's nicer to not be so strict. It's not necessarily easy to figure what went wrong, if for example the user plays with RAOP and adds module-raop-discover to default.pa, which first works fine, but suddenly stops working when the user at some point enables RAOP support in paprefs. Enabling RAOP in paprefs makes module-gconf load the module too, so the module gets loaded twice. This patch adds a way to differentiate module load errors, and make cli-command ignore the error when the module is already loaded.
This commit is contained in:
		
							parent
							
								
									1a66715320
								
							
						
					
					
						commit
						f0dfddead3
					
				
					 23 changed files with 62 additions and 36 deletions
				
			
		| 
						 | 
				
			
			@ -111,19 +111,21 @@ int deny_severity = LOG_WARNING;
 | 
			
		|||
int __padsp_disabled__ = 7;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
static void signal_callback(pa_mainloop_api*m, pa_signal_event *e, int sig, void *userdata) {
 | 
			
		||||
static void signal_callback(pa_mainloop_api* m, pa_signal_event *e, int sig, void *userdata) {
 | 
			
		||||
    pa_module *module = NULL;
 | 
			
		||||
 | 
			
		||||
    pa_log_info("Got signal %s.", pa_sig2str(sig));
 | 
			
		||||
 | 
			
		||||
    switch (sig) {
 | 
			
		||||
#ifdef SIGUSR1
 | 
			
		||||
        case SIGUSR1:
 | 
			
		||||
            pa_module_load(userdata, "module-cli", NULL);
 | 
			
		||||
            pa_module_load(&module, userdata, "module-cli", NULL);
 | 
			
		||||
            break;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#ifdef SIGUSR2
 | 
			
		||||
        case SIGUSR2:
 | 
			
		||||
            pa_module_load(userdata, "module-cli-protocol-unix", NULL);
 | 
			
		||||
            pa_module_load(&module, userdata, "module-cli-protocol-unix", NULL);
 | 
			
		||||
            break;
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue