Lines Matching defs:fip

149 	struct fifoinfo *fip;
157 fip = vp->v_fifoinfo;
159 if (fip == (struct fifoinfo *)0)
162 if ((fip->fi_flags & FIFO_CREATED) == 0) {
163 if (fip->fi_flags & FIFO_INCREATE) {
164 fip->fi_flags |= FIFO_CREATEWAIT;
165 error = msleep(&fip->fi_flags, &vp->v_lock, PRIBIO | PCATCH, "fifocreatewait", NULL);
172 fip->fi_flags |= FIFO_INCREATE;
188 fip->fi_readers = fip->fi_writers = 0;
203 fip->fi_readsock = rso;
204 fip->fi_writesock = wso;
206 fip->fi_flags |= FIFO_CREATED;
207 fip->fi_flags &= ~FIFO_INCREATE;
209 if ((fip->fi_flags & FIFO_CREATEWAIT)) {
210 fip->fi_flags &= ~FIFO_CREATEWAIT;
211 wakeup(&fip->fi_flags);
220 fip->fi_readers++;
221 if (fip->fi_readers == 1) {
222 socket_lock(fip->fi_writesock, 1);
223 fip->fi_writesock->so_state &= ~SS_CANTSENDMORE;
224 socket_unlock(fip->fi_writesock, 1);
226 if (fip->fi_writers > 0)
227 wakeup((caddr_t)&fip->fi_writers);
231 fip->fi_writers++;
232 if (fip->fi_writers == 1) {
233 socket_lock(fip->fi_readsock, 1);
234 fip->fi_readsock->so_state &= ~SS_CANTRCVMORE;
235 socket_unlock(fip->fi_readsock, 1);
237 if (fip->fi_readers > 0)
238 wakeup((caddr_t)&fip->fi_readers);
242 if (fip->fi_writers == 0) {
243 error = msleep((caddr_t)&fip->fi_readers, &vp->v_lock,
247 if (fip->fi_readers == 1) {
248 if (fip->fi_writers > 0)
249 wakeup((caddr_t)&fip->fi_writers);
255 if (fip->fi_readers == 0) {
260 if (fip->fi_readers == 0) {
261 error = msleep((caddr_t)&fip->fi_writers,&vp->v_lock,
265 if (fip->fi_writers == 1) {
266 if (fip->fi_readers > 0)
267 wakeup((caddr_t)&fip->fi_readers);
283 fip->fi_flags &= ~FIFO_INCREATE;
285 if ((fip->fi_flags & FIFO_CREATEWAIT)) {
286 fip->fi_flags &= ~FIFO_CREATEWAIT;
287 wakeup(&fip->fi_flags);
440 struct fifoinfo *fip = vp->v_fifoinfo;
448 if ((fip->fi_flags & FIFO_CREATED) == 0) {
456 fip->fi_readers--;
457 if (fip->fi_readers == 0){
458 socket_lock(fip->fi_writesock, 1);
459 socantsendmore(fip->fi_writesock);
460 socket_unlock(fip->fi_writesock, 1);
465 fip->fi_writers--;
466 if (fip->fi_writers == 0) {
467 socket_lock(fip->fi_readsock, 1);
468 socantrcvmore(fip->fi_readsock);
469 socket_unlock(fip->fi_readsock, 1);
480 if (fip->fi_writers || fip->fi_readers) {
486 wso = fip->fi_writesock;
487 rso = fip->fi_readsock;
488 fip->fi_readsock = NULL;
489 fip->fi_writesock = NULL;
490 fip->fi_flags &= ~FIFO_CREATED;
507 struct fifoinfo *fip = vp->v_fifoinfo;
510 fip->fi_readers, fip->fi_writers);