lad: Add Timeout waiting for Response FIFO
authorAngela Stegmaier <angelabaker@ti.com>
Tue, 5 Jun 2018 19:57:01 +0000 (14:57 -0500)
committerAngela Stegmaier <angelabaker@ti.com>
Tue, 19 Jun 2018 20:24:25 +0000 (15:24 -0500)
commit171b3a5c6827cc61ff8b11d9c05369e284bfbeec
tree1cc2dc13c2123090bb5c8d54fb0b15305f78b38e
parent24c36385d096613af123d1e1696fb2fee652ef36
lad: Add Timeout waiting for Response FIFO

Add a timeout to the logic which opens the client response FIFO
in the LAD daemon during LAD_CONNECT. There are some corner cases
that might result in this hanging forever waiting for the response
FIFO, in which case, all other LAD communication will be blocked
forever.

Such cases might be:
- Client application crashes after sending LAD_connect request
- Communication with LAD through the LADCMDS fifo takes too long
  and the Client times out waiting for the response FIFO (5 seconds).
  If this happens, Client will never try to open the FIFO again due
  to failing when doing the stat() on the FIFO.

With this patch, if the FIFO connection is not established within the
timeout, the FIFO will be unlinked and the original state restored so
that the connection can be attempted again.

The timeout is chosen as 1 second so as not to block all other LAD
communication for a long period of time. 1 second should (hopefully) be
sufficient time for the Client and LAD to both open the FIFO.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
linux/include/_lad.h
linux/src/daemon/lad.c