• Home
  • Raw
  • Download

Lines Matching refs:seq

101 	lws_seq_t *seq = lws_zalloc(sizeof(*seq) + i->user_size, __func__);  in lws_seq_create()  local
103 if (!seq) in lws_seq_create()
106 seq->cb = i->cb; in lws_seq_create()
107 seq->pt = pt; in lws_seq_create()
108 seq->name = i->name; in lws_seq_create()
109 seq->retry = i->retry; in lws_seq_create()
110 seq->wakesuspend = i->wakesuspend; in lws_seq_create()
112 *i->puser = (void *)&seq[1]; in lws_seq_create()
118 lws_dll2_add_tail(&seq->seq_list, &pt->seq_owner); in lws_seq_create()
122 seq->time_created = lws_now_usecs(); in lws_seq_create()
126 if (lws_seq_queue_event(seq, LWSSEQ_CREATED, NULL, NULL)) { in lws_seq_create()
127 lws_dll2_remove(&seq->seq_list); in lws_seq_create()
128 lws_free(seq); in lws_seq_create()
133 return seq; in lws_seq_create()
151 lws_seq_t *seq = *pseq; in lws_seq_destroy() local
154 seq->going_down = 1; in lws_seq_destroy()
156 seq->cb(seq, (void *)&seq[1], LWSSEQ_DESTROYED, NULL, NULL); in lws_seq_destroy()
158 lws_pt_lock(seq->pt, __func__); /* -------------------------- pt { */ in lws_seq_destroy()
160 lws_dll2_remove(&seq->seq_list); in lws_seq_destroy()
161 lws_dll2_remove(&seq->sul_timeout.list); in lws_seq_destroy()
162 lws_dll2_remove(&seq->sul_pending.list); in lws_seq_destroy()
164 lws_dll2_foreach_safe(&seq->seq_event_owner, NULL, seq_ev_destroy); in lws_seq_destroy()
166 lws_pt_unlock(seq->pt); /* } pt ---------------------------------- */ in lws_seq_destroy()
169 lws_free_set_NULL(seq); in lws_seq_destroy()
188 lws_seq_t *seq = lws_container_of(sul, lws_seq_t, sul_pending); in lws_seq_sul_pending_cb() local
193 if (!seq->seq_event_owner.count) in lws_seq_sul_pending_cb()
198 dh = lws_dll2_get_head(&seq->seq_event_owner); in lws_seq_sul_pending_cb()
201 n = (int)seq->cb(seq, (void *)&seq[1], (int)seqe->e, seqe->data, seqe->aux); in lws_seq_sul_pending_cb()
205 lws_pt_lock(seq->pt, __func__); /* ----------------------------- pt { */ in lws_seq_sul_pending_cb()
210 lws_pt_unlock(seq->pt); /* } pt ------------------------------------- */ in lws_seq_sul_pending_cb()
214 seq->name); in lws_seq_sul_pending_cb()
215 lws_seq_destroy(&seq); in lws_seq_sul_pending_cb()
220 lws_seq_queue_event(lws_seq_t *seq, lws_seq_events_t e, void *data, void *aux) in lws_seq_queue_event() argument
224 if (!seq || seq->going_down) in lws_seq_queue_event()
237 lws_pt_lock(seq->pt, __func__); /* ----------------------------- pt { */ in lws_seq_queue_event()
239 if (seq->seq_event_owner.count > QUEUE_SANITY_LIMIT) { in lws_seq_queue_event()
244 lws_dll2_add_tail(&seqe->seq_event_list, &seq->seq_event_owner); in lws_seq_queue_event()
246 seq->sul_pending.cb = lws_seq_sul_pending_cb; in lws_seq_queue_event()
247 __lws_sul_insert_us(&seq->pt->pt_sul_owner[seq->wakesuspend], in lws_seq_queue_event()
248 &seq->sul_pending, 1); in lws_seq_queue_event()
250 lws_pt_unlock(seq->pt); /* } pt ------------------------------------- */ in lws_seq_queue_event()
268 lws_seq_check_wsi(lws_seq_t *seq, struct lws *wsi) in lws_seq_check_wsi() argument
273 lws_pt_lock(seq->pt, __func__); /* ----------------------------- pt { */ in lws_seq_check_wsi()
275 dh = lws_dll2_get_head(&seq->seq_event_owner); in lws_seq_check_wsi()
285 lws_pt_unlock(seq->pt); /* } pt ------------------------------------- */ in lws_seq_check_wsi()
302 lws_seq_timeout_us(lws_seq_t *seq, lws_usec_t us) in lws_seq_timeout_us() argument
304 seq->sul_timeout.cb = lws_seq_sul_timeout_cb; in lws_seq_timeout_us()
306 __lws_sul_insert_us(&seq->pt->pt_sul_owner[seq->wakesuspend], in lws_seq_timeout_us()
307 (lws_sorted_usec_list_t *)&seq->sul_timeout.list, us); in lws_seq_timeout_us()
319 lws_seq_name(lws_seq_t *seq) in lws_seq_name() argument
321 return seq->name; in lws_seq_name()
325 lws_seq_us_since_creation(lws_seq_t *seq) in lws_seq_us_since_creation() argument
327 return lws_now_usecs() - seq->time_created; in lws_seq_us_since_creation()
331 lws_seq_get_context(lws_seq_t *seq) in lws_seq_get_context() argument
333 return seq->pt->context; in lws_seq_get_context()