adb: fix windows test build.
The switch over to soong unintentionally turned off building the Windows tests (and there's a bug preventing them from being turned on). Preemptively fix the build breakages that'll happen when we turn them back on. Test: mma with Android.bp 's/cc_test_host/cc_binary_host' hacks Change-Id: I6582cfc61b96052537d50d8ba90533dbb66e3e1d
This commit is contained in:
parent
7102f7c98d
commit
2e1e789e2a
|
@ -72,8 +72,11 @@ cc_defaults {
|
|||
"-DUNICODE=1",
|
||||
"-D_UNICODE=1",
|
||||
|
||||
// -std=gnu++14 doesn't set _GNU_SOURCE on Windows.
|
||||
// -std=gnu++11 doesn't set _GNU_SOURCE on Windows.
|
||||
"-D_GNU_SOURCE",
|
||||
|
||||
// MinGW hides some things behind _POSIX_SOURCE.
|
||||
"-D_POSIX_SOURCE",
|
||||
],
|
||||
},
|
||||
},
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
|
||||
#include "adb_io.h"
|
||||
#include "fdevent_test.h"
|
||||
#include "sysdeps/memory.h"
|
||||
|
||||
class FdHandler {
|
||||
public:
|
||||
|
|
|
@ -106,14 +106,14 @@ extern int adb_mkdir(const std::string& path, int mode);
|
|||
#define mkdir ___xxx_mkdir
|
||||
|
||||
// See the comments for the !defined(_WIN32) versions of adb_*().
|
||||
extern int adb_open(const char* path, int options);
|
||||
extern int adb_creat(const char* path, int mode);
|
||||
extern int adb_read(int fd, void* buf, int len);
|
||||
extern int adb_write(int fd, const void* buf, int len);
|
||||
extern int adb_lseek(int fd, int pos, int where);
|
||||
extern int adb_shutdown(int fd);
|
||||
extern int adb_close(int fd);
|
||||
extern int adb_register_socket(SOCKET s);
|
||||
extern int adb_open(const char* path, int options);
|
||||
extern int adb_creat(const char* path, int mode);
|
||||
extern int adb_read(int fd, void* buf, int len);
|
||||
extern int adb_write(int fd, const void* buf, int len);
|
||||
extern int adb_lseek(int fd, int pos, int where);
|
||||
extern int adb_shutdown(int fd, int direction = SHUT_RDWR);
|
||||
extern int adb_close(int fd);
|
||||
extern int adb_register_socket(SOCKET s);
|
||||
|
||||
// See the comments for the !defined(_WIN32) version of unix_close().
|
||||
static __inline__ int unix_close(int fd)
|
||||
|
@ -414,14 +414,10 @@ static __inline__ int adb_open( const char* pathname, int options )
|
|||
#undef open
|
||||
#define open ___xxx_open
|
||||
|
||||
static __inline__ int adb_shutdown(int fd)
|
||||
{
|
||||
return shutdown(fd, SHUT_RDWR);
|
||||
}
|
||||
static __inline__ int adb_shutdown(int fd, int direction)
|
||||
{
|
||||
static __inline__ int adb_shutdown(int fd, int direction = SHUT_RDWR) {
|
||||
return shutdown(fd, direction);
|
||||
}
|
||||
|
||||
#undef shutdown
|
||||
#define shutdown ____xxx_shutdown
|
||||
|
||||
|
|
|
@ -1011,9 +1011,8 @@ int adb_socket_get_local_port(int fd) {
|
|||
return ntohs(reinterpret_cast<sockaddr_in*>(&addr_storage)->sin_port);
|
||||
}
|
||||
|
||||
int adb_shutdown(int fd)
|
||||
{
|
||||
FH f = _fh_from_int(fd, __func__);
|
||||
int adb_shutdown(int fd, int direction) {
|
||||
FH f = _fh_from_int(fd, __func__);
|
||||
|
||||
if (!f || f->clazz != &_fh_socket_class) {
|
||||
D("adb_shutdown: invalid fd %d", fd);
|
||||
|
@ -1021,8 +1020,8 @@ int adb_shutdown(int fd)
|
|||
return -1;
|
||||
}
|
||||
|
||||
D( "adb_shutdown: %s", f->name);
|
||||
if (shutdown(f->fh_socket, SD_BOTH) == SOCKET_ERROR) {
|
||||
D("adb_shutdown: %s", f->name);
|
||||
if (shutdown(f->fh_socket, direction) == SOCKET_ERROR) {
|
||||
const DWORD err = WSAGetLastError();
|
||||
D("socket shutdown fd %d failed: %s", fd,
|
||||
android::base::SystemErrorCodeToString(err).c_str());
|
||||
|
|
Loading…
Reference in New Issue