LocIpcRunnable is created only for nonBlocking listeners.
But stopListening would use LocIpcRunnable not knowing if
this is a blocking or nonblocking listener. LocIpcRunnable
is no longer a shared resource between the two threads. We
use a copy of string to keep the needed socket name.
Change-Id: Ib5c57a89f630807d6d03f3fbc698a56b9ffddf4d
CRs-Fixed: 2431397
(1) In location data struct, change size_t to uint32_t as size_t
is machine dependent and can not be sent as part of payload
to the other processor.
(2) Change LocIpc ifdef to match with the file name
Change-Id: Ia3f029641106a547e18904be1e3fb56ec09de569
CRs-fixed: 2367517
startListeningBlocking is meant to be called under a reader
thread, which is the case if startListeningNonBlocking calls
it. A LocIpc client may delete the LocIpc obj, which would
trigger sending an ABORT msg to the reader thread before it
is subsequently deleted, in which case, it is possible that
when the reader thread comes around to process the ABORT msg,
referencing the data members of the possibly stale obj would
cause unpredictable behaviors.
Change-Id: I441af85c04d92b6fff695c020e3e0b4bd5e90409
CRs-Fixed: 2380093
startListeningBlocking is meant to be called under a reader
thread, which is the case if startListeningNonBlocking calls
it. A LocIpc client may delete the LocIpc obj, which would
trigger sending an ABORT msg to the reader thread before it
is subsequently deleted, in which case, it is possible that
when the reader thread comes around to process the ABORT msg,
referencing the data members of the possibly stale obj would
cause unpredictable behaviors.
Change-Id: I441af85c04d92b6fff695c020e3e0b4bd5e90409
CRs-Fixed: 2380093
LocIpc client apps such as garden app is unable
to delete LocIpc object since its socket listening
thread cannot be closed while it is waiting for
data and cannot be closed. Fixed to close it by
sending an abort message.
CRs-Fixed: 2213212
Change-Id: I95f26862e9faf7bd75a2f447421ba4ab7220576e
(1) allow engine hub to be able to receive connectivity
status update
(2) fix kw warning in LocIpc.h
Change-Id: I62ac534639003051a8992c143ff273d5ff66ee5a
CRs-fixed: 2198446
LocIpcSender::send() doesn't return correct
boolean result code. It always returns false
even it is successfully sent.
Change-Id: I74d85501f5d097dc1ede4dea5b2d9c9d752affda
CRs-Fixed: 2179096
For startListeningNoBlocking, for callers that need to know
when the socket is actually being created and ready to receive
message, this change allows callback to be invoked when socket
is ready.
Change-Id: Ie7c6eb1a3966371d84fc98109f07805ac7d4e3a1
CRs-fixed: 2169568
Add LocIpcSender class and add an overloaded
send method in LocIpc class that takes binary
data block.
Change-Id: I102f23fe8bf378c3bed5cac0086aa9773c62727b
CRs-Fixed: 2144883
Change LocIpc::send() method implementation from
regular member to static, since it does not modify
any of its class member variables. Sender code
should be able to call this method without creating
an instance.
Change-Id: I9d08404c3fae615fd20531904241bf2e246fa592
CRs-Fixed: 2143522
this patch contains the following changes:
1. added header and implemenation files of socket util apis
in libgps.utils; 2. updated XtraSystemStatusObserver to use
the new apis; 3. added HAL socket and new thread to listen to it.
Change-Id: If1f6b4b4d6ea2d03640f68e96f0286300404f42b
CRs-fixed: 2108635