Lines Matching refs:pn
76 static void pnode_delete (pnode_t *pn);
207 pnode_t *pn = (pnode_t *)arg;
221 if (port_getn (pn->port, pe, PE_ALLOC, &nget, &timeout) == 0) {
261 if (pn->ref == 0) {
262 pn->port_source_id = 0;
274 pnode_delete (pnode_t *pn)
276 g_assert (pn->ref <= max_port_events);
278 if (pn->ref == max_port_events) {
279 FK_W ("PORT : move to visible queue - [pn] 0x%p [ref] %d\n", pn, pn->ref);
280 pn_fq = g_list_remove (pn_fq, pn);
281 pn_vq = g_list_prepend (pn_vq, pn);
283 if ((-- pn->ref) == 0) {
286 FK_W ("%s [pn] 0x%p [ref] %d\n", __func__, pn, pn->ref);
299 pnode_t *pn = NULL;
302 pn = (pnode_t*)pn_vq->data;
303 g_assert (pn->ref < max_port_events);
305 pn = g_new0 (pnode_t, 1);
306 if (pn != NULL) {
307 if ((pn->port = port_create ()) >= 0) {
308 g_assert (g_list_find (pn_vq, pn) == NULL);
309 pn_vq = g_list_prepend (pn_vq, pn);
312 g_free (pn);
313 pn = NULL;
317 if (pn) {
318 FK_W ("%s [pn] 0x%p [ref] %d\n", __func__, pn, pn->ref);
319 pn->ref++;
320 if (pn->ref == max_port_events) {
321 FK_W ("PORT : move to full queue - [pn] 0x%p [ref] %d\n", pn, pn->ref);
322 pn_vq = g_list_remove (pn_vq, pn);
323 pn_fq = g_list_prepend (pn_fq, pn);
324 g_assert (g_list_find (pn_vq, pn) == NULL);
327 if (pn->port_source_id == 0) {
328 pn->port_source_id = g_timeout_add (PROCESS_PORT_EVENTS_TIME,
330 (void *)pn);
331 g_assert (pn->port_source_id > 0);
335 return pn;