summaryrefslogtreecommitdiff
path: root/src/common/socket.c
diff options
context:
space:
mode:
authorultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-21 13:09:22 +0000
committerultramage <ultramage@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-02-21 13:09:22 +0000
commit16072af808e7a55a0ba1ad5efc36c747c04456e3 (patch)
tree287e3b2ee3020064773b3395b019e030fbbbf43a /src/common/socket.c
parentbce0ac44c9b5d499de0cc96c89ea54929b3cbc43 (diff)
downloadhercules-16072af808e7a55a0ba1ad5efc36c747c04456e3.tar.gz
hercules-16072af808e7a55a0ba1ad5efc36c747c04456e3.tar.bz2
hercules-16072af808e7a55a0ba1ad5efc36c747c04456e3.tar.xz
hercules-16072af808e7a55a0ba1ad5efc36c747c04456e3.zip
Minor stuff (typos, socket.c, junk in login reply packet)
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9886 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/common/socket.c')
-rw-r--r--src/common/socket.c29
1 files changed, 8 insertions, 21 deletions
diff --git a/src/common/socket.c b/src/common/socket.c
index 43422da85..fda81521d 100644
--- a/src/common/socket.c
+++ b/src/common/socket.c
@@ -589,42 +589,29 @@ int do_sendrecv(int next)
if(session[rfd.fd_array[i]])
session[rfd.fd_array[i]]->func_recv(rfd.fd_array[i]);
}
-
+#else
+ // otherwise assume that the fd_set is a bit-array and enumerate it in a standard way
+ //TODO: select() returns the number of readable sockets; use that to exit the fd_max loop faster
for (i = 1; i < fd_max; i++)
{
- if(!session[i])
- continue;
-
- if(session[i]->wdata_size)
- session[i]->func_send(i);
-
- if(session[i]->eof) //func_send can't free a session, this is safe.
- { //Finally, even if there is no data to parse, connections signalled eof should be closed, so we call parse_func [Skotlex]
- session[i]->func_parse(i); //This should close the session inmediately.
- }
+ if(FD_ISSET(i,&rfd) && session[i])
+ session[i]->func_recv(i);
}
+#endif
-#else
- // otherwise assume that the fd_set is a bit-array and enumerate it in a standard way
for (i = 1; i < fd_max; i++)
{
if(!session[i])
continue;
- if(FD_ISSET(i,&rfd)){
- //ShowMessage("read:%d\n",i);
- session[i]->func_recv(i);
- }
-
if(session[i]->wdata_size)
session[i]->func_send(i);
-
- if(session[i]->eof)
+
+ if(session[i]->eof) //func_send can't free a session, this is safe.
{ //Finally, even if there is no data to parse, connections signalled eof should be closed, so we call parse_func [Skotlex]
session[i]->func_parse(i); //This should close the session inmediately.
}
}
-#endif
return 0;
}