repositories
/
deb_libnfs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[win32] - make it compile on win32
[deb_libnfs.git]
/
lib
/
socket.c
diff --git
a/lib/socket.c
b/lib/socket.c
index f2943cdfb4c1c7d379ae2f189206d0d8580215be..fe2068c54029c516f53c64ceebf7c0517699cb99 100644
(file)
--- a/
lib/socket.c
+++ b/
lib/socket.c
@@
-14,6
+14,16
@@
You should have received a copy of the GNU Lesser General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
You should have received a copy of the GNU Lesser General Public License
along with this program; if not, see <http://www.gnu.org/licenses/>.
*/
+#ifdef WIN32
+#include "win32_compat.h"
+#else
+#include <unistd.h>
+#include <poll.h>
+#include <arpa/inet.h>
+#include <sys/ioctl.h>
+#include <sys/socket.h>
+#include <netdb.h>
+#endif/*WIN32*/
#if defined(WIN32)
#include <winsock2.h>
#if defined(WIN32)
#include <winsock2.h>
@@
-61,7
+71,7
@@
static void set_nonblocking(int fd)
unsigned v;
v = fcntl(fd, F_GETFL, 0);
fcntl(fd, F_SETFL, v | O_NONBLOCK);
unsigned v;
v = fcntl(fd, F_GETFL, 0);
fcntl(fd, F_SETFL, v | O_NONBLOCK);
-#endif
+#endif
//FIXME
}
int rpc_get_fd(struct rpc_context *rpc)
}
int rpc_get_fd(struct rpc_context *rpc)
@@
-140,6
+150,7
@@
static int rpc_read_from_socket(struct rpc_context *rpc)
rpc_set_error(rpc, "Ioctl FIONREAD returned error : %d. Closing socket.", errno);
return -1;
}
rpc_set_error(rpc, "Ioctl FIONREAD returned error : %d. Closing socket.", errno);
return -1;
}
+
if (available == 0) {
rpc_set_error(rpc, "Socket has been closed");
return -1;
if (available == 0) {
rpc_set_error(rpc, "Socket has been closed");
return -1;
@@
-254,7
+265,7
@@
static int rpc_read_from_socket(struct rpc_context *rpc)
int rpc_service(struct rpc_context *rpc, int revents)
{
if (revents & POLLERR) {
int rpc_service(struct rpc_context *rpc, int revents)
{
if (revents & POLLERR) {
-
int
err = 0;
+
char
err = 0;
socklen_t err_size = sizeof(err);
if (getsockopt(rpc->fd, SOL_SOCKET, SO_ERROR,
socklen_t err_size = sizeof(err);
if (getsockopt(rpc->fd, SOL_SOCKET, SO_ERROR,