Ensure that pw_data_loop_invoke(), or blocking spa_loop_invoke(), never fail with -EPIPE
Not calling the callback might cause a deadlock or missed wakeup. In the case of a blocking spa_loop_invoke(), the situation is even worse: the invoke call might be used to clear references to objects that will later be freed, resulting in a potentially exploitable use-after-free.