From 81a6ca0b55fa97347e2bada1dd073b4b985b5132 Mon Sep 17 00:00:00 2001 From: piaip Date: Sat, 14 Apr 2012 02:13:47 +0000 Subject: Add retry and explain for remote brc state. git-svn-id: http://opensvn.csie.org/pttbbs/trunk@5638 63ad8ddf-47c3-0310-b6dd-a9e9d9715204 --- pttbbs/mbbsd/brc.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) 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) -- cgit v1.2.3