lshal: close fd before joining thread

In ~PipeRelay, since the data is no longer needed,
just close the fd before joining the thread.

In previous code, 'lshal debug' can hang:
- lshal read() waiting for data in RelayThread
- lshal send fd to service in main thread
- service close the fd
- service returns in debug() call
- lshal calls ~PipeRelay
- lshal read() is still blocking because it does not
  receive the signal

But, since the service has already end the debug()
call, the fds can be closed to bail out from blocking read().

Test: 'while true; do lshal debug ...; done' does not hang
Fixes: 111997867
Change-Id: I90db486b0a6598bd9998ed904dc0c757dfa57e0e
diff --git a/cmds/lshal/PipeRelay.cpp b/cmds/lshal/PipeRelay.cpp
index 3828bbf..905607f 100644
--- a/cmds/lshal/PipeRelay.cpp
+++ b/cmds/lshal/PipeRelay.cpp
@@ -77,13 +77,12 @@
 
 PipeRelay::~PipeRelay() {
     CloseFd(&mFds[1]);
+    CloseFd(&mFds[0]);
 
     if (mThread != NULL) {
         mThread->join();
         mThread.clear();
     }
-
-    CloseFd(&mFds[0]);
 }
 
 status_t PipeRelay::initCheck() const {