Lines Matching defs:data
54 pa_fdsem_data *data;
74 f->data = (pa_fdsem_data*) ((uint8_t*) f + PA_ALIGN(sizeof(pa_fdsem)));
76 pa_atomic_store(&f->data->waiting, 0);
77 pa_atomic_store(&f->data->signalled, 0);
78 pa_atomic_store(&f->data->in_pipe, 0);
83 pa_fdsem *pa_fdsem_open_shm(pa_fdsem_data *data, int event_fd) {
86 pa_assert(data);
95 f->data = data;
101 pa_fdsem *pa_fdsem_new_shm(pa_fdsem_data *data) {
104 pa_assert(data);
116 f->data = data;
118 pa_atomic_store(&f->data->waiting, 0);
119 pa_atomic_store(&f->data->signalled, 0);
120 pa_atomic_store(&f->data->in_pipe, 0);
143 if (pa_atomic_load(&f->data->in_pipe) <= 0)
166 } while (pa_atomic_sub(&f->data->in_pipe, (int) r) > (int) r);
172 if (pa_atomic_cmpxchg(&f->data->signalled, 0, 1)) {
174 if (pa_atomic_load(&f->data->waiting)) {
178 pa_atomic_inc(&f->data->in_pipe);
209 if (pa_atomic_cmpxchg(&f->data->signalled, 1, 0))
212 pa_atomic_inc(&f->data->waiting);
214 while (!pa_atomic_cmpxchg(&f->data->signalled, 1, 0)) {
236 pa_atomic_sub(&f->data->in_pipe, (int) r);
239 pa_assert_se(pa_atomic_dec(&f->data->waiting) >= 1);
247 if (pa_atomic_cmpxchg(&f->data->signalled, 1, 0))
269 if (pa_atomic_cmpxchg(&f->data->signalled, 1, 0))
272 pa_atomic_inc(&f->data->waiting);
274 if (pa_atomic_cmpxchg(&f->data->signalled, 1, 0)) {
275 pa_assert_se(pa_atomic_dec(&f->data->waiting) >= 1);
284 pa_assert_se(pa_atomic_dec(&f->data->waiting) >= 1);
288 if (pa_atomic_cmpxchg(&f->data->signalled, 1, 0))