adb: fix fd double close, Subprocess lifetime issue.
This commit fixes two somewhat related issues in shell_service. - The fd returned by StartSubprocess is owned by a unique_fd contained in the Subprocess object, but also gets closed by the caller. Resolve this by duping the returned file descriptor. - A Subprocess object can be destroyed immediately after its initial construction in StartSubprocess if we're sufficiently unlucky. Split up the fork/exec and "start management thread" steps, so that we can safely do everything we need to do on the Subprocess before handing it over to the thread that'll eventually destroy it. Bug: http://b/29254462 Change-Id: Id9cf0b7e7a7293bee7176919edc758597691c636
Loading
Please register or sign in to comment