vita: Replace select to poll

now newlib support [this][1]

[1]: https://github.com/vitasdk/newlib/pull/70
This commit is contained in:
Sunguk Lee 2022-01-25 00:06:24 +09:00 committed by Cameron Gutman
parent cfe75eb569
commit 4a4a23c7c4
2 changed files with 1 additions and 27 deletions

View File

@ -82,7 +82,7 @@ int setNonFatalRecvTimeoutMs(SOCKET s, int timeoutMs) {
}
int pollSockets(struct pollfd* pollFds, int pollFdsCount, int timeoutMs) {
#if defined(LC_WINDOWS) || defined(__vita__)
#if defined(LC_WINDOWS)
// We could have used WSAPoll() but it has some nasty bugs
// https://daniel.haxx.se/blog/2012/10/10/wsapoll-is-broken/
//
@ -107,19 +107,10 @@ int pollSockets(struct pollfd* pollFds, int pollFdsCount, int timeoutMs) {
if (pollFds[i].events & POLLOUT) {
FD_SET(pollFds[i].fd, &writeFds);
#ifdef LC_WINDOWS
// Windows signals failed connections as an exception,
// while Linux signals them as writeable.
FD_SET(pollFds[i].fd, &exceptFds);
#endif
}
#ifndef LC_WINDOWS
// nfds is unused on Windows
if (pollFds[i].fd >= nfds) {
nfds = pollFds[i].fd + 1;
}
#endif
}
tv.tv_sec = timeoutMs / 1000;

View File

@ -53,24 +53,7 @@ typedef int SOCKADDR_LEN;
#include <netdb.h>
#include <errno.h>
#include <signal.h>
#if defined(__vita__)
#define POLLIN 0x0001
#define POLLPRI 0x0002
#define POLLOUT 0x0004
#define POLLERR 0x0008
#define POLLRDNORM 0x0040
#define POLLWRNORM POLLOUT
#define POLLRDBAND 0x0080
#define POLLWRBAND 0x0100
struct pollfd {
int fd;
short events;
short revents;
};
#else
#include <poll.h>
#endif
#define ioctlsocket ioctl
#define LastSocketError() errno