Date: Wed, 27 Apr 2016 10:59:04 -0700 From: John Baldwin <jhb@freebsd.org> To: freebsd-arch@freebsd.org Cc: Christian Peron <csjp@sqrt.ca>, dayanidhi sreenivasan <dayanidhi.sreenivasan@gmail.com> Subject: Re: FIONBIO support in freebsd for bpf Message-ID: <2277475.FAchkNOHDZ@ralph.baldwin.cx> In-Reply-To: <5DCCBADE-B367-46DA-9B48-9393F7A3C2AD@sqrt.ca> References: <CADrQwqrpsvG6bdmK=-bmYqFqTUYjby6=xcscc-uFo1_7=tGXNw@mail.gmail.com> <20160427013155.GA3880@xor.gateway.mts.net> <5DCCBADE-B367-46DA-9B48-9393F7A3C2AD@sqrt.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday, April 26, 2016 08:49:50 PM Christian Peron wrote: > Actually, upon inspection of the code, it appears that ioctl(fd, FION= BIO, ..); works as expected. This ioctl cmd appears to be handled furth= er up the stack=E2=80=A6 Yes, it's a bit odd, but when F_SETFL tries to set O_NONBLOCK, the kern= el passes FIONBIO down to the device to "ask" if it's ok to use the desire= d setting (in *(int *)data) of non-blocking. In this case bpf is just sa= ying it supports either setting by returning 0 regardless of the value in da= ta. > > On Apr 26, 2016, at 8:31 PM, Christian Peron <csjp@sqrt.ca> wrote: > >=20 > > It is supported. If you want to put the descriptor into non-blockin= g mode, open it up with > > the device with the O_NONBLOCK flag specified. It probably wouldn'= t be too difficult to implement > > this via ioctl(FIONBIO) but I would need to look at it. Not certai= n why it can't be done using this > > method. > >=20 > > Hope this helps. > >=20 > > On Tue, Apr 26, 2016 at 07:22:20PM -0400, dayanidhi sreenivasan wro= te: > >> Hi Guys, > >> Can somebody tell me why there is no support for non blocking IO f= or bpf yet? > >>=20 > >> static int > >> bpfioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flags, > >> struct thread *td) > >> { > >>=20 > >> ...... > >>=20 > >> case FIONBIO: /* Non-blocking I/O */ > >> break; > >>=20 > >> } > >>=20 > >> Thanks > >> Daya > >> _______________________________________________ > >> freebsd-arch@freebsd.org mailing list > >> https://lists.freebsd.org/mailman/listinfo/freebsd-arch > >> To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd= .org" >=20 > _______________________________________________ > freebsd-arch@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-arch > To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.or= g" --=20 John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2277475.FAchkNOHDZ>