fixes for amd64 compilation

This commit is contained in:
Denis Vlasenko
2007-01-20 01:47:44 +00:00
parent e055443412
commit 91f20ab510
3 changed files with 11 additions and 8 deletions

View File

@@ -190,9 +190,10 @@ static void handle_accept(isrv_state_t *state, int fd)
{
int n, newfd;
fcntl(fd, F_SETFL, (int)(PARAM_TBL[0]) | O_NONBLOCK);
/* suppress gcc warning "cast from ptr to int of different size" */
fcntl(fd, F_SETFL, (int)(ptrdiff_t)(PARAM_TBL[0]) | O_NONBLOCK);
newfd = accept(fd, NULL, 0);
fcntl(fd, F_SETFL, (int)(PARAM_TBL[0]));
fcntl(fd, F_SETFL, (int)(ptrdiff_t)(PARAM_TBL[0]));
if (newfd < 0) {
if (errno == EAGAIN) return;
/* Most probably someone gave us wrong fd type
@@ -299,7 +300,8 @@ void isrv_run(
isrv_register_fd(state, /*peer:*/ 0, listen_fd);
isrv_want_rd(state, listen_fd);
/* remember flags to make blocking<->nonblocking switch faster */
PARAM_TBL[0] = (void*) (fcntl(listen_fd, F_GETFL, 0));
/* (suppress gcc warning "cast from ptr to int of different size") */
PARAM_TBL[0] = (void*)(ptrdiff_t)(fcntl(listen_fd, F_GETFL, 0));
while (1) {
struct timeval tv;