diff options
author | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-28 18:02:14 +0000 |
---|---|---|
committer | skotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2006-12-28 18:02:14 +0000 |
commit | 9fc3ecf51324fd26aba173daf8c5409695747f79 (patch) | |
tree | 0d48ce8dae60d6b34f36a4ca9011e5406cdd72a6 | |
parent | 6cbe5719321c25c7bfe2c45cee23f3b295c835c2 (diff) | |
download | hercules-9fc3ecf51324fd26aba173daf8c5409695747f79.tar.gz hercules-9fc3ecf51324fd26aba173daf8c5409695747f79.tar.bz2 hercules-9fc3ecf51324fd26aba173daf8c5409695747f79.tar.xz hercules-9fc3ecf51324fd26aba173daf8c5409695747f79.zip |
- Added a func_parse invocation when an invalid socket is found, so that the underlying code (char/map/login) can handle it and free any related resources.
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@9587 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r-- | Changelog-Trunk.txt | 3 | ||||
-rw-r--r-- | src/common/socket.c | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 5a84d311f..510dd9467 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,9 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/12/28 + * Added a func_parse invocation when an invalid socket is found, so that + the underlying code (char/map/login) can handle it and free any related + resources. * Added some skill effect packets so it displays a generic effect for unknown targetted skills. * Some cleaning in do_sendrecv, added error messages when handling an diff --git a/src/common/socket.c b/src/common/socket.c index c8fe7aa1c..0bcc979da 100644 --- a/src/common/socket.c +++ b/src/common/socket.c @@ -646,6 +646,10 @@ int do_sendrecv(int next) if(h_errno == EBADF) //See the #defines at the top { ShowError("Deleting invalid session %d\n", i); + //So the code can react accordingly + session[i]->eof = 1; + if(session[i]->func_parse) + session[i]->func_parse(i); free_session_mem(i); //free the bad session continue; } |