diff options
author | Josh Gao <jmgao@google.com> | 2019-01-23 15:36:42 -0800 |
---|---|---|
committer | Josh Gao <jmgao@google.com> | 2019-01-23 17:11:13 -0800 |
commit | c2705969e945b115ca42bc6365e90383f5c078b6 (patch) | |
tree | 56eda95c2736e1494bbc1362d8ad964607b4899c /adb_listeners.cpp | |
parent | 0560feb3bc387398394aa86b5066624f183cd97e (diff) | |
download | adb-c2705969e945b115ca42bc6365e90383f5c078b6.tar.gz |
adb: convert more stuff to unique_fd.
Test: adb_test
Test: adbd_test
Test: test_device.py
Change-Id: Ie75f0b811d2c75d508e6ecffb40579308f5789d0
Diffstat (limited to 'adb_listeners.cpp')
-rw-r--r-- | adb_listeners.cpp | 15 |
1 files changed, 5 insertions, 10 deletions
diff --git a/adb_listeners.cpp b/adb_listeners.cpp index be457a68..29909a55 100644 --- a/adb_listeners.cpp +++ b/adb_listeners.cpp @@ -75,41 +75,36 @@ static ListenerList& listener_list GUARDED_BY(listener_list_mutex) = *new Listen static void ss_listener_event_func(int _fd, unsigned ev, void *_l) { if (ev & FDE_READ) { - int fd = adb_socket_accept(_fd, nullptr, nullptr); + unique_fd fd(adb_socket_accept(_fd, nullptr, nullptr)); if (fd < 0) return; int rcv_buf_size = CHUNK_SIZE; - adb_setsockopt(fd, SOL_SOCKET, SO_RCVBUF, &rcv_buf_size, sizeof(rcv_buf_size)); + adb_setsockopt(fd.get(), SOL_SOCKET, SO_RCVBUF, &rcv_buf_size, sizeof(rcv_buf_size)); - asocket* s = create_local_socket(fd); + asocket* s = create_local_socket(std::move(fd)); if (s) { connect_to_smartsocket(s); return; } - - adb_close(fd); } } static void listener_event_func(int _fd, unsigned ev, void* _l) { alistener* listener = reinterpret_cast<alistener*>(_l); - asocket *s; if (ev & FDE_READ) { - int fd = adb_socket_accept(_fd, nullptr, nullptr); + unique_fd fd(adb_socket_accept(_fd, nullptr, nullptr)); if (fd < 0) { return; } - s = create_local_socket(fd); + asocket* s = create_local_socket(std::move(fd)); if (s) { s->transport = listener->transport; connect_to_remote(s, listener->connect_to); return; } - - adb_close(fd); } } |