Messages in this thread | | | Date | Mon, 20 Nov 2017 11:41:17 +0000 | From | Brian Starkey <> | Subject | Re: [RFC v5 07/11] [media] vb2: add in-fence support to QBUF |
| |
On Fri, Nov 17, 2017 at 11:19:05AM -0200, Mauro Carvalho Chehab wrote: >Em Fri, 17 Nov 2017 11:08:01 -0200 >Gustavo Padovan <gustavo@padovan.org> escreveu: > >> 2017-11-17 Mauro Carvalho Chehab <mchehab@osg.samsung.com>: >> >> > Em Fri, 17 Nov 2017 15:49:23 +0900 >> > Alexandre Courbot <acourbot@chromium.org> escreveu: >> > >> > > > @@ -178,6 +179,12 @@ static int vb2_queue_or_prepare_buf(struct >> > > > vb2_queue *q, struct v4l2_buffer *b, >> > > > return -EINVAL; >> > > > } >> > > > >> > > > + if ((b->fence_fd != 0 && b->fence_fd != -1) && >> > > >> > > Why do we need to consider both values invalid? Can 0 ever be a valid fence >> > > fd? >> > >> > Programs that don't use fences will initialize reserved2/fence_fd field >> > at the uAPI call to zero. >> > >> > So, I guess using fd=0 here could be a problem. Anyway, I would, instead, >> > do: >> > >> > if ((b->fence_fd < 1) && >> > ... >> > >> > as other negative values are likely invalid as well. >> >> We are checking when the fence_fd is set but the flag wasn't. Checking >> for < 1 is exactly the opposite. so we keep as is or do it fence_fd > 0. > >Ah, yes. Anyway, I would stick with: > if ((b->fence_fd > 0) && > ... >
0 is a valid fence_fd right? If I close stdin, and create a sync_file, couldn't I get a fence with fd zero?
-Brian
>> >> Gustavo > > >-- >Thanks, >Mauro
| |