Lines Matching defs:pdp
771 polldat_t *pdp;
793 for (pdp = php->ph_list; pdp; pdp = pdp->pd_next)
798 for (pdp = php->ph_list; pdp; pdp = pdp->pd_next)
801 ASSERT(pdp != NULL);
803 pdp = php->ph_list;
806 first = pdp;
808 if ((pdp->pd_events & events) ||
813 if (pdp->pd_portev != NULL) {
814 port_kevent_t *pkevp = pdp->pd_portev;
826 (pdp->pd_events | POLLHUP |
864 pcp = pdp->pd_pcache;
873 pollnotify(pcp, pdp->pd_fd);
916 pdp = pdp->pd_next;
917 if (pdp == NULL)
918 pdp = php->ph_list;
919 if (pdp == first)
974 pollhead_insert(pollhead_t *php, polldat_t *pdp)
977 ASSERT(pdp->pd_next == NULL);
985 ASSERT(wp != pdp);
989 pdp->pd_next = php->ph_list;
990 php->ph_list = pdp;
998 pollhead_delete(pollhead_t *php, polldat_t *pdp)
1005 if (wp == pdp) {
1006 *wpp = pdp->pd_next;
1007 pdp->pd_next = NULL;
1012 /* assert that pdp is no longer in the list */
1014 ASSERT(wp != pdp);
1079 polldat_t *pdp;
1082 pdp = pcp->pc_hash[hashindex];
1083 while (pdp != NULL) {
1084 if (pdp->pd_fd == fd)
1086 pdp = pdp->pd_hashnext;
1088 return (pdp);
1094 polldat_t *pdp;
1096 pdp = kmem_zalloc(sizeof (polldat_t), KM_SLEEP);
1098 pdp->pd_ref = kmem_zalloc(sizeof (xref_t) * nsets, KM_SLEEP);
1099 pdp->pd_nsets = nsets;
1101 return (pdp);
1109 pcache_insert_fd(pollcache_t *pcp, polldat_t *pdp, nfds_t nfds)
1118 fd = pdp->pd_fd;
1120 pdp->pd_hashnext = pcp->pc_hash[hashindex];
1121 pcp->pc_hash[hashindex] = pdp;
1130 for (pdp1 = pdp->pd_hashnext; pdp1; pdp1 = pdp1->pd_hashnext) {
1131 ASSERT(pdp->pd_fd != pdp1->pd_fd);
1147 polldat_t *pdp, *pdp1;
1169 pdp = oldtbl[i];
1170 while (pdp != NULL) {
1171 pdp1 = pdp->pd_hashnext;
1172 pcache_insert_fd(pcp, pdp, nfds);
1173 pdp = pdp1;
1218 polldat_t *pdp;
1223 for (pdp = hashtbl[i]; pdp; pdp = pdp->pd_hashnext) {
1224 if (pdp->pd_php != NULL) {
1225 pollhead_delete(pdp->pd_php, pdp);
1226 pdp->pd_php = NULL;
1228 if (pdp->pd_fp != NULL) {
1229 delfpollinfo(pdp->pd_fd);
1230 pdp->pd_fp = NULL;
1237 pcacheset_invalidate(pollstate_t *ps, polldat_t *pdp)
1240 int fd = pdp->pd_fd;
1245 ASSERT(pdp->pd_fp == NULL);
1247 pdp->pd_events = 0;
1252 ASSERT(pdp->pd_ref != NULL);
1253 refp = &pdp->pd_ref[i];
1260 pdp->pd_count--;
1272 pdp->pd_count--;
1280 ASSERT(pdp->pd_count == 0);
1294 polldat_t *pdp;
1328 pdp = pcache_lookup_fd(pcp, fd);
1329 if (pdp == NULL) {
1331 pdp = pcache_alloc_fd(ps->ps_nsets);
1338 if ((pdp->pd_count > 0) && (pdp->pd_fp == NULL)) {
1339 pcacheset_invalidate(ps, pdp);
1340 ASSERT(pdp->pd_next == NULL);
1342 if (pdp->pd_count == 0) {
1343 pdp->pd_fd = fd;
1344 pdp->pd_fp = fp;
1346 pdp->pd_thread = curthread;
1347 pdp->pd_pcache = pcp;
1352 ASSERT(pdp->pd_next == NULL);
1363 ASSERT(pdp->pd_fp == fp);
1373 pdp->pd_events |= pollfdp->events;
1375 pdp->pd_count++;
1386 ASSERT(pdp->pd_ref != NULL);
1387 refp = &pdp->pd_ref[which];
1407 pcache_insert_fd(ps->ps_pcache, pdp, ps->ps_nfds);
1410 if (pdp->pd_php == NULL) {
1411 pollhead_insert(memphp, pdp);
1412 pdp->pd_php = memphp;
1414 if (memphp != pdp->pd_php) {
1420 pollhead_delete(pdp->pd_php, pdp);
1421 pollhead_insert(memphp, pdp);
1422 pdp->pd_php = memphp;
1449 polldat_t *pdp;
1455 pdp = pcache_lookup_fd(pcp, fd);
1456 ASSERT(pdp != NULL);
1457 ASSERT(pdp->pd_count > 0);
1458 ASSERT(pdp->pd_ref != NULL);
1459 refp = &pdp->pd_ref[which];
1460 if (pdp->pd_count == 1) {
1461 pdp->pd_events = 0;
1465 if (pdp->pd_php) {
1472 pollhead_delete(pdp->pd_php, pdp);
1473 pdp->pd_php = NULL;
1475 pdp->pd_count = 0;
1476 if (pdp->pd_fp != NULL) {
1477 pdp->pd_fp = NULL;
1491 pcacheset_invalidate(ps, pdp);
1492 ASSERT(pdp->pd_php == NULL);
1504 pdp->pd_count--;
1527 polldat_t *pdp;
1529 pdp = pcache_lookup_fd(pcp, fd);
1530 ASSERT(pdp != NULL);
1531 ASSERT(pdp->pd_ref != NULL);
1532 pdp->pd_ref[which].xf_position = pos;
1546 polldat_t *pdp;
1561 pdp = pcache_lookup_fd(pcp, fd);
1562 ASSERT(pdp != NULL);
1564 ASSERT(pdp->pd_fp == fp);
1568 if (pdp->pd_php == NULL)
1911 polldat_t *pdp;
1946 pdp = pcache_lookup_fd(pcp, fd);
1947 ASSERT(pdp != NULL);
1948 ASSERT(pdp->pd_ref != NULL);
1949 refp = &pdp->pd_ref[which];
1963 if (pdp->pd_fp == NULL) {
1964 ASSERT(pdp->pd_count > 0);
1980 pcacheset_invalidate(ps, pdp);
2006 ASSERT(pdp->pd_fp == fp);
2012 ASSERT(pdp->pd_php == NULL ||
2013 MUTEX_NOT_HELD(PHLOCK(pdp->pd_php)));
2045 if (php != NULL && pdp->pd_php != NULL &&
2046 php != pdp->pd_php) {
2048 pollhead_delete(pdp->pd_php, pdp);
2049 pdp->pd_php = php;
2050 pollhead_insert(php, pdp);
2070 error = plist_chkdupfd(fp, pdp, ps,
2091 if ((pdp->pd_php != NULL) &&
2092 (pollfdp[entry].events == pdp->pd_events) &&
2100 if ((pdp->pd_php == NULL) && (php != NULL)) {
2101 pdp->pd_php = php;
2102 pollhead_insert(php, pdp);
2119 error = plist_chkdupfd(fp, pdp, ps,
2232 polldat_t *pdp;
2239 pdp = pcache_lookup_fd(pcp, fd);
2240 ASSERT(pdp != NULL);
2245 pdp->pd_fp = NULL;
2254 ASSERT(pdp->pd_ref != NULL);
2259 refp = &pdp->pd_ref[i];
2282 if (pdp->pd_php) {
2283 pollwakeup(pdp->pd_php, POLLHUP);
2284 pollhead_delete(pdp->pd_php, pdp);
2285 pdp->pd_php = NULL;
2648 polldat_t *pdp;
2660 pdp = php->ph_list;
2661 ASSERT(pdp->pd_php == php);
2662 if (pdp->pd_thread == NULL) {
2668 php->ph_list = pdp->pd_next;
2669 pdp->pd_php = NULL;
2670 pdp->pd_next = NULL;
2673 ps = pdp->pd_thread->t_pollstate;
2675 pcp = pdp->pd_pcache;
2690 if (pdp->pd_php == php) {
2691 ASSERT(pdp == php->ph_list);
2692 php->ph_list = pdp->pd_next;
2693 pdp->pd_php = NULL;
2694 pdp->pd_next = NULL;
2761 polldat_t *pdp;
2769 pdp = stp->sd_pollist.ph_list;
2770 while (pdp) {
2771 ASSERT(pdp->pd_thread != curthread);
2772 pdp = pdp->pd_next;
2791 polldat_t *pdp;
2799 pdp = pcache_lookup_fd(pcp, pollfdp[i].fd);
2800 ASSERT(pdp != NULL);
2801 ASSERT(pdp->pd_ref != NULL);
2802 refp = &pdp->pd_ref[cacheindex];
2805 ASSERT(pollfdp[refp->xf_position].fd == pdp->pd_fd);
2813 if (pollfdp[j].fd == pdp->pd_fd) {
2837 polldat_t *pdp;
2839 for (pdp = hashtbl[i]; pdp; pdp = pdp->pd_hashnext) {
2840 ASSERT(pdp->pd_ref != NULL);
2841 if (pdp->pd_count > 0) {
2848 refp = &pdp->pd_ref[j];
2853 ASSERT(pdp->pd_fd == pollfd[refp->xf_position].fd);
2869 polldat_t *pdp;
2876 for (pdp = stp->sd_pollist.ph_list; pdp; pdp = pdp->pd_next) {
2877 if (pdp->pd_thread != NULL &&
2878 pdp->pd_thread->t_procp == curthread->t_procp) {
2880 if (pdp->pd_thread == fpip2->fp_thread) {
2902 polldat_t *pdp;
2905 pdp = pcache_lookup_fd(pcp, i);
2906 if (pdp && pdp->pd_fp != NULL) {
2910 ASSERT(pdp->pd_ref != NULL);
2911 refp = &pdp->pd_ref[cacheindex];
2979 polldat_t *pdp, *pdp2;
2981 pdp = hashtbl[i];
2982 while (pdp != NULL) {
2983 pdp2 = pdp->pd_hashnext;
2984 if (pdp->pd_ref != NULL) {
2985 kmem_free(pdp->pd_ref, sizeof (xref_t) *
2986 pdp->pd_nsets);
2988 kmem_free(pdp, sizeof (polldat_t));
2989 pdp = pdp2;
3034 plist_chkdupfd(file_t *fp, polldat_t *pdp, pollstate_t *psp, pollfd_t *pollfdp,
3072 if (php != NULL && pdp->pd_php != NULL &&
3073 php != pdp->pd_php) {
3074 pollhead_delete(pdp->pd_php, pdp);
3075 pdp->pd_php = php;
3076 pollhead_insert(php, pdp);