diff options
author | David Turner <digit@google.com> | 2016-06-23 09:51:02 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-06-23 09:51:02 +0000 |
commit | fee63df3d23280da60243e94f3ab084eeca1d38e (patch) | |
tree | f91b0dbc659dd34235f0a42a6743bb552d800c3f /rild | |
parent | 3b9ec9bb3cf508319a5e01815b37e97817eba92e (diff) | |
parent | 5d6ef9767220a4f2cd4a9a62fb79c287725bc0f5 (diff) | |
download | android_hardware_ril-fee63df3d23280da60243e94f3ab084eeca1d38e.tar.gz android_hardware_ril-fee63df3d23280da60243e94f3ab084eeca1d38e.tar.bz2 android_hardware_ril-fee63df3d23280da60243e94f3ab084eeca1d38e.zip |
resolve merge conflicts of d027477 to nyc-mr1-dev-plus-aosp
am: 5d6ef97672
Change-Id: Id8844f27c56acd111a975d7a74153b5289281bb8
Diffstat (limited to 'rild')
-rw-r--r-- | rild/rild.c | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/rild/rild.c b/rild/rild.c index f425379..7bd525f 100644 --- a/rild/rild.c +++ b/rild/rild.c @@ -37,7 +37,6 @@ #include <libril/ril_ex.h> #include <private/android_filesystem_config.h> -#include <system/qemu_pipe.h> #define LIB_PATH_PROPERTY "rild.libpath" #define LIB_ARGS_PROPERTY "rild.libargs" @@ -177,126 +176,6 @@ int main(int argc, char **argv) { } } - /* special override when in the emulator */ -#if 1 - { - static char* arg_overrides[5]; - static char arg_device[32]; - int done = 0; - -#define REFERENCE_RIL_PATH "libreference-ril.so" - - /* first, read /proc/cmdline into memory */ - char buffer[2048] = {'\0'}, *p, *q; - int len; - struct stat st; - int fd = open("/proc/cmdline",O_RDONLY); - - if (fd < 0) { - RLOGE("could not open /proc/cmdline:%s", strerror(errno)); - goto OpenLib; - } - - if (fstat(fd, &st)) { - RLOGE("fstat error: %s", strerror(errno)); - close(fd); - goto OpenLib; - } - - if (st.st_size > sizeof(buffer) - 1) { - RLOGE("Size of /proc/cmdline exceeds buffer"); - close(fd); - goto OpenLib; - } - - do { - len = read(fd,buffer,sizeof(buffer) - 1); } - while (len == -1 && errno == EINTR); - - if (len < 0) { - RLOGE("could not read /proc/cmdline:%s", strerror(errno)); - close(fd); - goto OpenLib; - } - close(fd); - - if (strstr(buffer, "android.qemud=") != NULL) - { - /* the qemud daemon is launched after rild, so - * give it some time to create its GSM socket - */ - int tries = 5; -#define QEMUD_SOCKET_NAME "qemud" - - while (1) { - int fd; - - sleep(1); - - fd = qemu_pipe_open("pipe:qemud:gsm"); - if (fd < 0) { - fd = socket_local_client( - QEMUD_SOCKET_NAME, - ANDROID_SOCKET_NAMESPACE_RESERVED, - SOCK_STREAM ); - } - if (fd >= 0) { - close(fd); - snprintf( arg_device, sizeof(arg_device), "%s/%s", - ANDROID_SOCKET_DIR, QEMUD_SOCKET_NAME ); - - arg_overrides[1] = "-s"; - arg_overrides[2] = arg_device; - done = 1; - break; - } - RLOGD("could not connect to %s socket: %s", - QEMUD_SOCKET_NAME, strerror(errno)); - if (--tries == 0) - break; - } - if (!done) { - RLOGE("could not connect to %s socket (giving up): %s", - QEMUD_SOCKET_NAME, strerror(errno)); - while(1) - sleep(0x00ffffff); - } - } - - /* otherwise, try to see if we passed a device name from the kernel */ - if (!done) do { -#define KERNEL_OPTION "android.ril=" -#define DEV_PREFIX "/dev/" - - p = strstr( buffer, KERNEL_OPTION ); - if (p == NULL) - break; - - p += sizeof(KERNEL_OPTION)-1; - q = strpbrk( p, " \t\n\r" ); - if (q != NULL) - *q = 0; - - snprintf( arg_device, sizeof(arg_device), DEV_PREFIX "%s", p ); - arg_device[sizeof(arg_device)-1] = 0; - arg_overrides[1] = "-d"; - arg_overrides[2] = arg_device; - done = 1; - - } while (0); - - if (done) { - argv = arg_overrides; - argc = 3; - i = 1; - hasLibArgs = 1; - rilLibPath = REFERENCE_RIL_PATH; - - RLOGD("overriding with %s %s", arg_overrides[1], arg_overrides[2]); - } - } -OpenLib: -#endif switchUser(); dlHandle = dlopen(rilLibPath, RTLD_NOW); |