summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2012-04-14 10:13:47 +0800
committerpiaip <piaip@63ad8ddf-47c3-0310-b6dd-a9e9d9715204>2012-04-14 10:13:47 +0800
commit81a6ca0b55fa97347e2bada1dd073b4b985b5132 (patch)
tree2ee94e4c274762996631633418e3701d3644717e
parent9514428da9581cac3a31f1068b91557fed51abdd (diff)
downloadpttbbs-81a6ca0b55fa97347e2bada1dd073b4b985b5132.tar
pttbbs-81a6ca0b55fa97347e2bada1dd073b4b985b5132.tar.gz
pttbbs-81a6ca0b55fa97347e2bada1dd073b4b985b5132.tar.bz2
pttbbs-81a6ca0b55fa97347e2bada1dd073b4b985b5132.tar.lz
pttbbs-81a6ca0b55fa97347e2bada1dd073b4b985b5132.tar.xz
pttbbs-81a6ca0b55fa97347e2bada1dd073b4b985b5132.tar.zst
pttbbs-81a6ca0b55fa97347e2bada1dd073b4b985b5132.zip
Add retry and explain for remote brc state.
git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5638 63ad8ddf-47c3-0310-b6dd-a9e9d9715204
-rw-r--r--pttbbs/mbbsd/brc.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/pttbbs/mbbsd/brc.c b/pttbbs/mbbsd/brc.c
index b5f74634..e4801f81 100644
--- a/pttbbs/mbbsd/brc.c
+++ b/pttbbs/mbbsd/brc.c
@@ -295,8 +295,18 @@ load_remote_brc() {
BRCSTORED_REQ_READ, cuser.userid, cuser.firstlogin);
do {
- if ((fd = toconnectex(BRCSTORED_ADDR, 10)) < 0)
+ int conn_retries = 10;
+ while (conn_retries-- > 0 &&
+ (fd = toconnectex(BRCSTORED_ADDR, 10)) < 0) {
+ mvprints(b_lines, 0, (conn_retries == 0) ?
+ "無法載入最新的看板已讀未讀資料, 將使用上次備份... (#%d)" :
+ "正在同步看板已讀未讀資料,請稍候... (#%d)", conn_retries + 1);
+ refresh();
+ sleep(1);
+ }
+ if (fd < 0) {
BRC_FAILURE("(load) connect");
+ }
if (towrite(fd, command, strlen(command)) < 0)
BRC_FAILURE("(load) send_command");
if (toread(fd, &len, sizeof(len)) < 0)