mirror of
				https://gitlab.freedesktop.org/pipewire/pipewire.git
				synced 2025-11-03 09:01:54 -05:00 
			
		
		
		
	don't crash with missing libraries
This commit is contained in:
		
							parent
							
								
									217f93a317
								
							
						
					
					
						commit
						1f2cb7ac67
					
				
					 4 changed files with 15 additions and 2 deletions
				
			
		| 
						 | 
					@ -207,7 +207,9 @@ int main(int argc, char *argv[])
 | 
				
			||||||
		rd_device_release(impl.device);
 | 
							rd_device_release(impl.device);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
exit:
 | 
					exit:
 | 
				
			||||||
 | 
						if (impl.context)
 | 
				
			||||||
		pw_context_destroy(impl.context);
 | 
							pw_context_destroy(impl.context);
 | 
				
			||||||
 | 
						if (impl.mainloop)
 | 
				
			||||||
		pw_main_loop_destroy(impl.mainloop);
 | 
							pw_main_loop_destroy(impl.mainloop);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pw_deinit();
 | 
						pw_deinit();
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3002,6 +3002,10 @@ int main(int argc, char *argv[])
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	data.loop = pw_main_loop_new(NULL);
 | 
						data.loop = pw_main_loop_new(NULL);
 | 
				
			||||||
 | 
						if (data.loop == NULL) {
 | 
				
			||||||
 | 
							fprintf(stderr, "Broken installation: %m\n");
 | 
				
			||||||
 | 
							return -1;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	l = pw_main_loop_get_loop(data.loop);
 | 
						l = pw_main_loop_get_loop(data.loop);
 | 
				
			||||||
	pw_loop_add_signal(l, SIGINT, do_quit, &data);
 | 
						pw_loop_add_signal(l, SIGINT, do_quit, &data);
 | 
				
			||||||
	pw_loop_add_signal(l, SIGTERM, do_quit, &data);
 | 
						pw_loop_add_signal(l, SIGTERM, do_quit, &data);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -240,6 +240,10 @@ int main(int argc, char *argv[])
 | 
				
			||||||
		data.opt_type = argv[optind++];
 | 
							data.opt_type = argv[optind++];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	data.loop = pw_main_loop_new(NULL);
 | 
						data.loop = pw_main_loop_new(NULL);
 | 
				
			||||||
 | 
						if (data.loop == NULL) {
 | 
				
			||||||
 | 
							fprintf(stderr, "can't create mainloop: %m\n");
 | 
				
			||||||
 | 
							return -1;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	pw_loop_add_signal(pw_main_loop_get_loop(data.loop), SIGINT, do_quit, &data);
 | 
						pw_loop_add_signal(pw_main_loop_get_loop(data.loop), SIGINT, do_quit, &data);
 | 
				
			||||||
	pw_loop_add_signal(pw_main_loop_get_loop(data.loop), SIGTERM, do_quit, &data);
 | 
						pw_loop_add_signal(pw_main_loop_get_loop(data.loop), SIGTERM, do_quit, &data);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -134,6 +134,9 @@ static void do_quit(void *userdata, int signal_number)
 | 
				
			||||||
static int dump_filter(struct data *data)
 | 
					static int dump_filter(struct data *data)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	data->loop = pw_main_loop_new(NULL);
 | 
						data->loop = pw_main_loop_new(NULL);
 | 
				
			||||||
 | 
						if (data->loop == NULL)
 | 
				
			||||||
 | 
							return -errno;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	pw_loop_add_signal(pw_main_loop_get_loop(data->loop), SIGINT, do_quit, data);
 | 
						pw_loop_add_signal(pw_main_loop_get_loop(data->loop), SIGINT, do_quit, data);
 | 
				
			||||||
	pw_loop_add_signal(pw_main_loop_get_loop(data->loop), SIGTERM, do_quit, data);
 | 
						pw_loop_add_signal(pw_main_loop_get_loop(data->loop), SIGTERM, do_quit, data);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue