mirror of
				https://gitlab.freedesktop.org/wayland/wayland.git
				synced 2025-11-03 09:01:42 -05:00 
			
		
		
		
	client: Add an entry point for dispatching a queue without blocking
On the client side EGL, all the wl_buffer.release events need to be processed before buffer allocation, otherwise a third buffer might be allocated unnecessarily. However, the buffer allocation should not block in the case no event was received. In order to do that, a non-blocking queue dispatch function is needed.
This commit is contained in:
		
							parent
							
								
									0f5d41e3bb
								
							
						
					
					
						commit
						fb20507881
					
				
					 2 changed files with 21 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -926,6 +926,25 @@ wl_display_dispatch_queue(struct wl_display *display,
 | 
			
		|||
	return dispatch_queue(display, queue, 1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Dispatch pending events in an event queue
 | 
			
		||||
 *
 | 
			
		||||
 * \param display The display context object
 | 
			
		||||
 * \param queue The event queue to dispatch
 | 
			
		||||
 * \return The number of dispatched events on success or -1 on failure
 | 
			
		||||
 *
 | 
			
		||||
 * Dispatch all incoming events for objects assigned to the given
 | 
			
		||||
 * event queue. On failure -1 is returned and errno set appropriately.
 | 
			
		||||
 * If there are no events queued, this functions return immediately.
 | 
			
		||||
 *
 | 
			
		||||
 * \memberof wl_display
 | 
			
		||||
 */
 | 
			
		||||
WL_EXPORT int
 | 
			
		||||
wl_display_dispatch_queue_pending(struct wl_display *display,
 | 
			
		||||
				  struct wl_event_queue *queue)
 | 
			
		||||
{
 | 
			
		||||
	return dispatch_queue(display, queue, 0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/** Process incoming events
 | 
			
		||||
 *
 | 
			
		||||
 * \param display The display context object
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue