mirror of
				https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
				synced 2025-11-03 09:01:50 -05:00 
			
		
		
		
	protocol-native: Disable srbchannel for setups without SCM_CREDENTIALS
srbchannel needs fd passing. Otherwise we get the following error
for systems without SCM_CREDENTIALS support:
    Code should not be reached at pulsecore/pstream-util.c:95,
    function pa_pstream_send_tagstruct_with_fds(). Aborting.
[[ The root cause is that we define HAVE_CREDS only if
SCM_CREDENTIALS is defined, but SCM_CREDENTIALS is a Linux-specific
symbol. Thus HAVE_CREDS is always disabled on Solaris.
And since pulse couples the non-portable creds passing support
with the portable fd passing one, through _35_ places where
HAVE_CREDS is used, a real fix needs a PA redesign -- assuming that
latency on Solaris is something people care about. ]]
BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=94339
Signed-off-by: Ahmed S. Darwish <darwish.07@gmail.com>
			
			
This commit is contained in:
		
							parent
							
								
									dcbe79bd63
								
							
						
					
					
						commit
						26d5b6d199
					
				
					 2 changed files with 7 additions and 2 deletions
				
			
		| 
						 | 
					@ -2604,6 +2604,11 @@ static void setup_srbchannel(pa_native_connection *c) {
 | 
				
			||||||
    pa_tagstruct *t;
 | 
					    pa_tagstruct *t;
 | 
				
			||||||
    int fdlist[2];
 | 
					    int fdlist[2];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#ifndef HAVE_CREDS
 | 
				
			||||||
 | 
					    pa_log_debug("Disabling srbchannel, reason: No fd passing support");
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					#endif
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (!c->options->srbchannel) {
 | 
					    if (!c->options->srbchannel) {
 | 
				
			||||||
        pa_log_debug("Disabling srbchannel, reason: Must be enabled by module parameter");
 | 
					        pa_log_debug("Disabling srbchannel, reason: Must be enabled by module parameter");
 | 
				
			||||||
        return;
 | 
					        return;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -90,7 +90,7 @@ void pa_pstream_send_tagstruct_with_creds(pa_pstream *p, pa_tagstruct *t, const
 | 
				
			||||||
    pa_pstream_send_tagstruct_with_ancil_data(p, t, NULL);
 | 
					    pa_pstream_send_tagstruct_with_ancil_data(p, t, NULL);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void pa_pstream_send_tagstruct_with_fds(pa_pstream *p, pa_tagstruct *t, int nfd, const int *fds,
 | 
					void PA_GCC_NORETURN pa_pstream_send_tagstruct_with_fds(pa_pstream *p, pa_tagstruct *t, int nfd, const int *fds,
 | 
				
			||||||
                                                        bool close_fds) {
 | 
					                                                        bool close_fds) {
 | 
				
			||||||
    pa_assert_not_reached();
 | 
					    pa_assert_not_reached();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue