diff --git a/adb/adb.h b/adb/adb.h index 6f5f9975d..89a233f86 100644 --- a/adb/adb.h +++ b/adb/adb.h @@ -338,6 +338,9 @@ void put_apacket(apacket *p); int check_header(apacket *p); int check_data(apacket *p); +// Define it if you want to dump packets. +#define DEBUG_PACKETS 0 + #if !DEBUG_PACKETS #define print_packet(tag,p) do {} while (0) #endif diff --git a/adb/adb_client.c b/adb/adb_client.c index eb1720d22..ac5e15a92 100644 --- a/adb/adb_client.c +++ b/adb/adb_client.c @@ -279,7 +279,7 @@ int adb_connect(const char *service) fd = _adb_connect(service); if(fd == -1) { - D("_adb_connect error: %s\n", __adb_error); + D("_adb_connect error: %s", __adb_error); } else if(fd == -2) { fprintf(stderr,"** daemon still not running\n"); } diff --git a/adb/adb_trace.h b/adb/adb_trace.h index 8a5d9f8e1..b8a2f4c38 100644 --- a/adb/adb_trace.h +++ b/adb/adb_trace.h @@ -73,8 +73,9 @@ void adb_trace_init(void); if (ADB_TRACING) { \ int save_errno = errno; \ adb_mutex_lock(&D_lock); \ - fprintf(stderr, "%s::%s():", \ - __FILE__, __FUNCTION__); \ + fprintf(stderr, "%16s: %5d:%5lu | ", \ + __FUNCTION__, \ + getpid(), adb_thread_id()); \ errno = save_errno; \ fprintf(stderr, __VA_ARGS__ ); \ fflush(stderr); \ @@ -96,15 +97,16 @@ void adb_trace_init(void); } while (0) # define DD(...) \ do { \ - int save_errno = errno; \ - adb_mutex_lock(&D_lock); \ - fprintf(stderr, "%s::%s():", \ - __FILE__, __FUNCTION__); \ - errno = save_errno; \ - fprintf(stderr, __VA_ARGS__ ); \ - fflush(stderr); \ - adb_mutex_unlock(&D_lock); \ - errno = save_errno; \ + int save_errno = errno; \ + adb_mutex_lock(&D_lock); \ + fprintf(stderr, "%16s: %5d:%5lu | ", \ + __FUNCTION__, \ + getpid(), adb_thread_id()); \ + errno = save_errno; \ + fprintf(stderr, __VA_ARGS__ ); \ + fflush(stderr); \ + adb_mutex_unlock(&D_lock); \ + errno = save_errno; \ } while (0) #else # define D(...) \ diff --git a/adb/fdevent.c b/adb/fdevent.c index 43e600cb3..f5ecd14f4 100644 --- a/adb/fdevent.c +++ b/adb/fdevent.c @@ -661,6 +661,8 @@ void fdevent_subproc_setup() if(adb_socketpair(s)) { FATAL("cannot create shell-exit socket-pair\n"); } + D("socketpair: (%d,%d)", s[0], s[1]); + SHELL_EXIT_NOTIFY_FD = s[0]; fdevent *fde; fde = fdevent_create(s[1], fdevent_subproc_event_func, NULL); diff --git a/adb/jdwp_service.c b/adb/jdwp_service.c index cd62b552a..3074e4287 100644 --- a/adb/jdwp_service.c +++ b/adb/jdwp_service.c @@ -415,6 +415,7 @@ FoundIt: __FUNCTION__, strerror(errno)); return -1; } + D("socketpair: (%d,%d)", fds[0], fds[1]); proc->out_fds[ proc->out_count ] = fds[1]; if (++proc->out_count == 1) diff --git a/adb/services.c b/adb/services.c index bcfc163a2..300807a63 100644 --- a/adb/services.c +++ b/adb/services.c @@ -164,6 +164,7 @@ static int create_service_thread(void (*func)(int, void *), void *cookie) printf("cannot create service socket pair\n"); return -1; } + D("socketpair: (%d,%d)", s[0], s[1]); sti = malloc(sizeof(stinfo)); if(sti == 0) fatal("cannot allocate stinfo"); @@ -264,10 +265,11 @@ static int create_subproc_raw(const char *cmd, const char *arg0, const char *arg // 0 is parent socket, 1 is child socket int sv[2]; - if (unix_socketpair(AF_UNIX, SOCK_STREAM, 0, sv) < 0) { + if (adb_socketpair(sv) < 0) { printf("[ cannot create socket pair - %s ]\n", strerror(errno)); return -1; } + D("socketpair: (%d,%d)", sv[0], sv[1]); *pid = fork(); if (*pid < 0) { diff --git a/adb/sysdeps.h b/adb/sysdeps.h index cc1f839e9..22f44ce3c 100644 --- a/adb/sysdeps.h +++ b/adb/sysdeps.h @@ -77,6 +77,11 @@ static __inline__ int adb_thread_create( adb_thread_t *thread, adb_thread_func return 0; } +static __inline__ unsigned long adb_thread_id() +{ + return GetCurrentThreadId(); +} + static __inline__ void close_on_exec(int fd) { /* nothing really */ @@ -516,6 +521,12 @@ static __inline__ char* adb_strtok_r(char *str, const char *delim, char **savep { return strtok_r(str, delim, saveptr); } + +static __inline__ unsigned long adb_thread_id() +{ + return pthread_self(); +} + #undef strtok_r #define strtok_r ___xxx_strtok_r diff --git a/adb/transport.c b/adb/transport.c index f35880cc3..7db6a4783 100644 --- a/adb/transport.c +++ b/adb/transport.c @@ -629,7 +629,7 @@ static void transport_registration_func(int _fd, unsigned ev, void *data) fatal_errno("cannot open transport socketpair"); } - D("transport: %s (%d,%d) starting\n", t->serial, s[0], s[1]); + D("transport: %s socketpair: (%d,%d) starting", t->serial, s[0], s[1]); t->transport_socket = s[0]; t->fd = s[1]; @@ -673,6 +673,7 @@ void init_transport_registration(void) if(adb_socketpair(s)){ fatal_errno("cannot open transport registration socketpair"); } + D("socketpair: (%d,%d)", s[0], s[1]); transport_registration_send = s[0]; transport_registration_recv = s[1];