Lines Matching defs:srlzer

753 	struct fmdump_srlzer *srlzer = pl->pl_srlzer;
755 (void) pthread_mutex_lock(&srlzer->ds_lock);
761 struct fmdump_srlzer *srlzer = pl->pl_srlzer;
763 ASSERT(MUTEX_HELD(&srlzer->ds_lock));
764 (void) pthread_mutex_unlock(&srlzer->ds_lock);
768 srlzer_choose(struct fmdump_srlzer *srlzer)
775 ASSERT(MUTEX_HELD(&srlzer->ds_lock));
777 for (i = 0, slot = &srlzer->ds_slot[0]; i < srlzer->ds_pipecnt;
797 return (oldestidx >= 0 ? &srlzer->ds_pipearr[oldestidx] : NULL);
803 struct fmdump_srlzer *srlzer = pl->pl_srlzer;
805 ASSERT(MUTEX_HELD(&srlzer->ds_lock));
806 (void) pthread_cond_wait(&pl->pl_cv, &srlzer->ds_lock);
812 struct fmdump_srlzer *srlzer = pl->pl_srlzer;
814 ASSERT(MUTEX_HELD(&srlzer->ds_lock));
815 (void) pthread_cond_signal(&srlzer->ds_pipearr[pl->pl_srlzeridx].pl_cv);
829 struct fmdump_srlzer *srlzer = pl->pl_srlzer;
834 ASSERT(MUTEX_HELD(&srlzer->ds_lock));
836 slot = &srlzer->ds_slot[thisidx];
840 srlzer->ds_nrecordavail++;
845 if (srlzer->ds_pollcnt == srlzer->ds_pipecnt)
852 if (srlzer->ds_nrecordavail + srlzer->ds_ndone +
853 srlzer->ds_pollcnt < srlzer->ds_pipecnt)
862 wpl = srlzer_choose(srlzer);
877 struct fmdump_srlzer *srlzer = pl->pl_srlzer;
879 ASSERT(MUTEX_HELD(&srlzer->ds_lock));
880 srlzer->ds_slot[pl->pl_srlzeridx].ss_state = FMDUMP_PIPE_PROCESSING;
881 srlzer->ds_nrecordavail--;
887 struct fmdump_srlzer *srlzer = pl->pl_srlzer;
892 srlzer->ds_slot[pl->pl_srlzeridx].ss_state = FMDUMP_PIPE_DONE;
893 srlzer->ds_ndone++;
894 wpl = srlzer_choose(srlzer);
904 struct fmdump_srlzer *srlzer = pl->pl_srlzer;
907 if (srlzer->ds_slot[pl->pl_srlzeridx].ss_state == FMDUMP_PIPE_POLLING)
912 srlzer->ds_slot[pl->pl_srlzeridx].ss_state = FMDUMP_PIPE_POLLING;
913 if (++srlzer->ds_pollcnt + srlzer->ds_nrecordavail ==
914 srlzer->ds_pipecnt && (wpl = srlzer_choose(srlzer)) != NULL)
1035 struct fmdump_srlzer srlzer;
1086 bzero(&srlzer, sizeof (srlzer));
1087 srlzer.ds_pipearr = pipeline;
1088 srlzer.ds_pipecnt = npipe;
1089 srlzer.ds_slot = calloc(npipe, sizeof (struct fmdump_srlzer_slot));
1090 if (!srlzer.ds_slot)
1092 (void) pthread_mutex_init(&srlzer.ds_lock, NULL);
1097 srlzer.ds_slot[i].ss_state = FMDUMP_PIPE_PROCESSING;
1098 pl->pl_srlzer = &srlzer;
1129 free(srlzer.ds_slot);