pkarashchenko commented on a change in pull request #5624:
URL: https://github.com/apache/incubator-nuttx/pull/5624#discussion_r817030722



##########
File path: drivers/input/ajoystick.c
##########
@@ -722,6 +720,19 @@ static int ajoy_poll(FAR struct file *filep, FAR struct 
pollfd *fds,
 
               opriv->ao_fds[i] = fds;
               fds->priv = &opriv->ao_fds[i];
+
+              /* Report if the event is pending */
+
+              if (opriv->ao_pollpending)
+                {
+                  fds->revents |= (fds->events & POLLIN);
+                  if (fds->revents != 0)
+                    {
+                      iinfo("Report events: %02x\n", fds->revents);
+                      nxsem_post(fds->sem);

Review comment:
       > No, the protocol require that fds must save into ao_fds if it return 
true regardless the semaphore post or not. You can see touchscreen_upper.c do 
the same thing:
   > 
https://github.com/apache/incubator-nuttx/blob/master/drivers/input/touchscreen_upper.c#L319-L324
   > poll will call ajoy_poll with setup == false immediately after return.
   
   Thank you, I missed that.
   But what I see in the touchscreen example is that fd sem count is checked in 
prior to sem post and all poll waiters are notified. But in current changes it 
seems like behavior is different, isn't it?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to