summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--minadbd/Android.mk1
-rw-r--r--minadbd/adb.c30
-rw-r--r--minadbd/adb_main.c41
3 files changed, 42 insertions, 30 deletions
diff --git a/minadbd/Android.mk b/minadbd/Android.mk
index fecce8777..0cba0c5f1 100644
--- a/minadbd/Android.mk
+++ b/minadbd/Android.mk
@@ -12,6 +12,7 @@ include $(CLEAR_VARS)
LOCAL_SRC_FILES := \
adb.c \
+ adb_main.c \
fuse_adb_provider.c \
sockets.c \
services.c \
diff --git a/minadbd/adb.c b/minadbd/adb.c
index 0ac16e4d9..5f9cfdfa1 100644
--- a/minadbd/adb.c
+++ b/minadbd/adb.c
@@ -370,33 +370,3 @@ void handle_packet(apacket *p, atransport *t)
put_apacket(p);
}
-
-static void adb_cleanup(void)
-{
- usb_cleanup();
-}
-
-int adb_main()
-{
- atexit(adb_cleanup);
-#if !defined(_WIN32)
- // No SIGCHLD. Let the service subproc handle its children.
- signal(SIGPIPE, SIG_IGN);
-#endif
-
- init_transport_registration();
-
- // The minimal version of adbd only uses USB.
- if (access(USB_ADB_PATH, F_OK) == 0 || access(USB_FFS_ADB_EP0, F_OK) == 0) {
- // listen on USB
- usb_init();
- }
-
- D("Event loop starting\n");
-
- fdevent_loop();
-
- usb_cleanup();
-
- return 0;
-}
diff --git a/minadbd/adb_main.c b/minadbd/adb_main.c
new file mode 100644
index 000000000..66d270261
--- /dev/null
+++ b/minadbd/adb_main.c
@@ -0,0 +1,41 @@
+/*
+ * Copyright (C) 2015 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <errno.h>
+#include <signal.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+#define TRACE_TAG TRACE_ADB
+
+#include "adb.h"
+#include "sysdeps.h"
+
+int adb_main()
+{
+ atexit(usb_cleanup);
+
+ // No SIGCHLD. Let the service subproc handle its children.
+ signal(SIGPIPE, SIG_IGN);
+
+ init_transport_registration();
+ usb_init();
+
+ D("Event loop starting\n");
+ fdevent_loop();
+
+ return 0;
+}