Revisión | 90320d394c0a12f6d48cb710b5e7a91fd04402d5 (tree) |
---|---|
Tiempo | 2010-11-20 02:11:43 |
Autor | eru <eru01@user...> |
Commiter | eru |
チャンネル停止→チャンネル情報削除の間に再接続すると落ちるのを修正
@@ -1767,6 +1767,27 @@ bool ServMgr::getChannel(char *str,ChanInfo &info, bool relay) | ||
1767 | 1767 | info = ch->info; // get updated channel info |
1768 | 1768 | |
1769 | 1769 | return true; |
1770 | + } else if (ch && ch->thread.finish) | |
1771 | + { | |
1772 | + // wait until deleting channel | |
1773 | + do | |
1774 | + { | |
1775 | + sys->sleep(500); | |
1776 | + ch = chanMgr->findChannelByNameID(info); | |
1777 | + } while (ch); | |
1778 | + | |
1779 | + // same as else block | |
1780 | + if (relay) | |
1781 | + { | |
1782 | + wb.off(); | |
1783 | + ch = chanMgr->findAndRelay(info); | |
1784 | + if (ch) | |
1785 | + { | |
1786 | + // ↓Exception point | |
1787 | + info = ch->info; //get updated channel info | |
1788 | + return true; | |
1789 | + } | |
1790 | + } | |
1770 | 1791 | }else |
1771 | 1792 | { |
1772 | 1793 | if (relay) |
@@ -44,9 +44,9 @@ extern int version_ex; // VERSION_EX | ||
44 | 44 | #if 1 /* for VP extend version */ |
45 | 45 | //#define VERSION_EX 1 |
46 | 46 | static const char *PCP_CLIENT_VERSION_EX_PREFIX = "IM"; // 2bytes only |
47 | -static const int PCP_CLIENT_VERSION_EX_NUMBER = 41; | |
48 | -static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0041)"; | |
49 | -static const char *PCX_VERSTRING_EX = "v0.1218(IM0041)"; | |
47 | +static const int PCP_CLIENT_VERSION_EX_NUMBER = 42; | |
48 | +static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0042)"; | |
49 | +static const char *PCX_VERSTRING_EX = "v0.1218(IM0042)"; | |
50 | 50 | |
51 | 51 | static const char *PCP_CLIENT_DIST_URL = "http://pecaim.net/"; |
52 | 52 | static const char *PCP_CLIENT_VERSION_URL = "version.pecaim.net"; |
@@ -1767,6 +1767,27 @@ bool ServMgr::getChannel(char *str,ChanInfo &info, bool relay) | ||
1767 | 1767 | info = ch->info; // get updated channel info |
1768 | 1768 | |
1769 | 1769 | return true; |
1770 | + } else if (ch && ch->thread.finish) | |
1771 | + { | |
1772 | + // wait until deleting channel | |
1773 | + do | |
1774 | + { | |
1775 | + sys->sleep(500); | |
1776 | + ch = chanMgr->findChannelByNameID(info); | |
1777 | + } while (ch); | |
1778 | + | |
1779 | + // same as else block | |
1780 | + if (relay) | |
1781 | + { | |
1782 | + wb.off(); | |
1783 | + ch = chanMgr->findAndRelay(info); | |
1784 | + if (ch) | |
1785 | + { | |
1786 | + // ↓Exception point | |
1787 | + info = ch->info; //get updated channel info | |
1788 | + return true; | |
1789 | + } | |
1790 | + } | |
1770 | 1791 | }else |
1771 | 1792 | { |
1772 | 1793 | if (relay) |
@@ -44,9 +44,9 @@ extern int version_ex; // VERSION_EX | ||
44 | 44 | #if 1 /* for VP extend version */ |
45 | 45 | //#define VERSION_EX 1 |
46 | 46 | static const char *PCP_CLIENT_VERSION_EX_PREFIX = "IM"; // 2bytes only |
47 | -static const int PCP_CLIENT_VERSION_EX_NUMBER = 41; | |
48 | -static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0041)"; | |
49 | -static const char *PCX_VERSTRING_EX = "v0.1218(IM0041)"; | |
47 | +static const int PCP_CLIENT_VERSION_EX_NUMBER = 42; | |
48 | +static const char *PCX_AGENTEX = "PeerCast/0.1218(IM0042)"; | |
49 | +static const char *PCX_VERSTRING_EX = "v0.1218(IM0042)"; | |
50 | 50 | |
51 | 51 | static const char *PCP_CLIENT_DIST_URL = "http://pecaim.net/"; |
52 | 52 | static const char *PCP_CLIENT_VERSION_URL = "version.pecaim.net"; |