Lines Matching defs:pdp

767 	polldat_t	*pdp;
779 for (pdp = php->ph_list; pdp; pdp = pdp->pd_next) {
780 if ((pdp->pd_events & events) ||
785 if (pdp->pd_portev != NULL) {
786 port_kevent_t *pkevp = pdp->pd_portev;
798 (pdp->pd_events | POLLHUP |
836 pcp = pdp->pd_pcache;
845 pollnotify(pcp, pdp->pd_fd);
940 pollhead_insert(pollhead_t *php, polldat_t *pdp)
943 ASSERT(pdp->pd_next == NULL);
951 ASSERT(wp != pdp);
955 pdp->pd_next = php->ph_list;
956 php->ph_list = pdp;
964 pollhead_delete(pollhead_t *php, polldat_t *pdp)
971 if (wp == pdp) {
972 *wpp = pdp->pd_next;
973 pdp->pd_next = NULL;
978 /* assert that pdp is no longer in the list */
980 ASSERT(wp != pdp);
1045 polldat_t *pdp;
1048 pdp = pcp->pc_hash[hashindex];
1049 while (pdp != NULL) {
1050 if (pdp->pd_fd == fd)
1052 pdp = pdp->pd_hashnext;
1054 return (pdp);
1060 polldat_t *pdp;
1062 pdp = kmem_zalloc(sizeof (polldat_t), KM_SLEEP);
1064 pdp->pd_ref = kmem_zalloc(sizeof (xref_t) * nsets, KM_SLEEP);
1065 pdp->pd_nsets = nsets;
1067 return (pdp);
1075 pcache_insert_fd(pollcache_t *pcp, polldat_t *pdp, nfds_t nfds)
1084 fd = pdp->pd_fd;
1086 pdp->pd_hashnext = pcp->pc_hash[hashindex];
1087 pcp->pc_hash[hashindex] = pdp;
1096 for (pdp1 = pdp->pd_hashnext; pdp1; pdp1 = pdp1->pd_hashnext) {
1097 ASSERT(pdp->pd_fd != pdp1->pd_fd);
1113 polldat_t *pdp, *pdp1;
1135 pdp = oldtbl[i];
1136 while (pdp != NULL) {
1137 pdp1 = pdp->pd_hashnext;
1138 pcache_insert_fd(pcp, pdp, nfds);
1139 pdp = pdp1;
1184 polldat_t *pdp;
1189 for (pdp = hashtbl[i]; pdp; pdp = pdp->pd_hashnext) {
1190 if (pdp->pd_php != NULL) {
1191 pollhead_delete(pdp->pd_php, pdp);
1192 pdp->pd_php = NULL;
1194 if (pdp->pd_fp != NULL) {
1195 delfpollinfo(pdp->pd_fd);
1196 pdp->pd_fp = NULL;
1203 pcacheset_invalidate(pollstate_t *ps, polldat_t *pdp)
1206 int fd = pdp->pd_fd;
1211 ASSERT(pdp->pd_fp == NULL);
1213 pdp->pd_events = 0;
1218 ASSERT(pdp->pd_ref != NULL);
1219 refp = &pdp->pd_ref[i];
1226 pdp->pd_count--;
1238 pdp->pd_count--;
1246 ASSERT(pdp->pd_count == 0);
1260 polldat_t *pdp;
1294 pdp = pcache_lookup_fd(pcp, fd);
1295 if (pdp == NULL) {
1297 pdp = pcache_alloc_fd(ps->ps_nsets);
1304 if ((pdp->pd_count > 0) && (pdp->pd_fp == NULL)) {
1305 pcacheset_invalidate(ps, pdp);
1306 ASSERT(pdp->pd_next == NULL);
1308 if (pdp->pd_count == 0) {
1309 pdp->pd_fd = fd;
1310 pdp->pd_fp = fp;
1312 pdp->pd_thread = curthread;
1313 pdp->pd_pcache = pcp;
1318 ASSERT(pdp->pd_next == NULL);
1329 ASSERT(pdp->pd_fp == fp);
1339 pdp->pd_events |= pollfdp->events;
1341 pdp->pd_count++;
1352 ASSERT(pdp->pd_ref != NULL);
1353 refp = &pdp->pd_ref[which];
1373 pcache_insert_fd(ps->ps_pcache, pdp, ps->ps_nfds);
1376 if (pdp->pd_php == NULL) {
1377 pollhead_insert(memphp, pdp);
1378 pdp->pd_php = memphp;
1380 if (memphp != pdp->pd_php) {
1386 pollhead_delete(pdp->pd_php, pdp);
1387 pollhead_insert(memphp, pdp);
1388 pdp->pd_php = memphp;
1415 polldat_t *pdp;
1421 pdp = pcache_lookup_fd(pcp, fd);
1422 ASSERT(pdp != NULL);
1423 ASSERT(pdp->pd_count > 0);
1424 ASSERT(pdp->pd_ref != NULL);
1425 refp = &pdp->pd_ref[which];
1426 if (pdp->pd_count == 1) {
1427 pdp->pd_events = 0;
1431 if (pdp->pd_php) {
1438 pollhead_delete(pdp->pd_php, pdp);
1439 pdp->pd_php = NULL;
1441 pdp->pd_count = 0;
1442 if (pdp->pd_fp != NULL) {
1443 pdp->pd_fp = NULL;
1457 pcacheset_invalidate(ps, pdp);
1458 ASSERT(pdp->pd_php == NULL);
1470 pdp->pd_count--;
1493 polldat_t *pdp;
1495 pdp = pcache_lookup_fd(pcp, fd);
1496 ASSERT(pdp != NULL);
1497 ASSERT(pdp->pd_ref != NULL);
1498 pdp->pd_ref[which].xf_position = pos;
1512 polldat_t *pdp;
1527 pdp = pcache_lookup_fd(pcp, fd);
1528 ASSERT(pdp != NULL);
1530 ASSERT(pdp->pd_fp == fp);
1534 if (pdp->pd_php == NULL)
1877 polldat_t *pdp;
1912 pdp = pcache_lookup_fd(pcp, fd);
1913 ASSERT(pdp != NULL);
1914 ASSERT(pdp->pd_ref != NULL);
1915 refp = &pdp->pd_ref[which];
1929 if (pdp->pd_fp == NULL) {
1930 ASSERT(pdp->pd_count > 0);
1946 pcacheset_invalidate(ps, pdp);
1972 ASSERT(pdp->pd_fp == fp);
1978 ASSERT(pdp->pd_php == NULL ||
1979 MUTEX_NOT_HELD(PHLOCK(pdp->pd_php)));
2011 if (php != NULL && pdp->pd_php != NULL &&
2012 php != pdp->pd_php) {
2014 pollhead_delete(pdp->pd_php, pdp);
2015 pdp->pd_php = php;
2016 pollhead_insert(php, pdp);
2036 error = plist_chkdupfd(fp, pdp, ps,
2057 if ((pdp->pd_php != NULL) &&
2058 (pollfdp[entry].events == pdp->pd_events) &&
2066 if ((pdp->pd_php == NULL) && (php != NULL)) {
2067 pdp->pd_php = php;
2068 pollhead_insert(php, pdp);
2085 error = plist_chkdupfd(fp, pdp, ps,
2198 polldat_t *pdp;
2205 pdp = pcache_lookup_fd(pcp, fd);
2206 ASSERT(pdp != NULL);
2211 pdp->pd_fp = NULL;
2220 ASSERT(pdp->pd_ref != NULL);
2225 refp = &pdp->pd_ref[i];
2248 if (pdp->pd_php) {
2249 pollwakeup(pdp->pd_php, POLLHUP);
2250 pollhead_delete(pdp->pd_php, pdp);
2251 pdp->pd_php = NULL;
2614 polldat_t *pdp;
2626 pdp = php->ph_list;
2627 ASSERT(pdp->pd_php == php);
2628 if (pdp->pd_thread == NULL) {
2634 php->ph_list = pdp->pd_next;
2635 pdp->pd_php = NULL;
2636 pdp->pd_next = NULL;
2639 ps = pdp->pd_thread->t_pollstate;
2641 pcp = pdp->pd_pcache;
2656 if (pdp->pd_php == php) {
2657 ASSERT(pdp == php->ph_list);
2658 php->ph_list = pdp->pd_next;
2659 pdp->pd_php = NULL;
2660 pdp->pd_next = NULL;
2727 polldat_t *pdp;
2735 pdp = stp->sd_pollist.ph_list;
2736 while (pdp) {
2737 ASSERT(pdp->pd_thread != curthread);
2738 pdp = pdp->pd_next;
2757 polldat_t *pdp;
2765 pdp = pcache_lookup_fd(pcp, pollfdp[i].fd);
2766 ASSERT(pdp != NULL);
2767 ASSERT(pdp->pd_ref != NULL);
2768 refp = &pdp->pd_ref[cacheindex];
2771 ASSERT(pollfdp[refp->xf_position].fd == pdp->pd_fd);
2779 if (pollfdp[j].fd == pdp->pd_fd) {
2803 polldat_t *pdp;
2805 for (pdp = hashtbl[i]; pdp; pdp = pdp->pd_hashnext) {
2806 ASSERT(pdp->pd_ref != NULL);
2807 if (pdp->pd_count > 0) {
2814 refp = &pdp->pd_ref[j];
2819 ASSERT(pdp->pd_fd == pollfd[refp->xf_position].fd);
2835 polldat_t *pdp;
2842 for (pdp = stp->sd_pollist.ph_list; pdp; pdp = pdp->pd_next) {
2843 if (pdp->pd_thread != NULL &&
2844 pdp->pd_thread->t_procp == curthread->t_procp) {
2846 if (pdp->pd_thread == fpip2->fp_thread) {
2868 polldat_t *pdp;
2871 pdp = pcache_lookup_fd(pcp, i);
2872 if (pdp && pdp->pd_fp != NULL) {
2876 ASSERT(pdp->pd_ref != NULL);
2877 refp = &pdp->pd_ref[cacheindex];
2945 polldat_t *pdp, *pdp2;
2947 pdp = hashtbl[i];
2948 while (pdp != NULL) {
2949 pdp2 = pdp->pd_hashnext;
2950 if (pdp->pd_ref != NULL) {
2951 kmem_free(pdp->pd_ref, sizeof (xref_t) *
2952 pdp->pd_nsets);
2954 kmem_free(pdp, sizeof (polldat_t));
2955 pdp = pdp2;
3000 plist_chkdupfd(file_t *fp, polldat_t *pdp, pollstate_t *psp, pollfd_t *pollfdp,
3038 if (php != NULL && pdp->pd_php != NULL &&
3039 php != pdp->pd_php) {
3040 pollhead_delete(pdp->pd_php, pdp);
3041 pdp->pd_php = php;
3042 pollhead_insert(php, pdp);