diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2006-05-23 18:17:40 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2006-05-23 18:17:40 +0000 |
commit | b31af470e7af0428a9dbe5c47482f0c2f68cebdc (patch) | |
tree | 992b5ae3b57fb52a82c752bd2e8c371ed934e39b /channels/chan_sip.c | |
parent | c4227714fd711aa0ee69387d645c6ce5578f2818 (diff) |
Merged revisions 29764 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r29764 | kpfleming | 2006-05-23 13:16:40 -0500 (Tue, 23 May 2006) | 2 lines
simplify/fix lock retry, and fix comment
........
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@29765 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_sip.c')
-rw-r--r-- | channels/chan_sip.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 6a30bf426..9c480d260 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -12098,7 +12098,7 @@ static int sipsock_read(int *id, int fd, short events, void *ignore) int nounlock; int recount = 0; char iabuf[INET_ADDRSTRLEN]; - int lockretrycount = 0; + unsigned int lockretry = 100; len = sizeof(sin); memset(&req, 0, sizeof(req)); @@ -12155,13 +12155,12 @@ retrylock: ast_log(LOG_DEBUG, "Failed to grab lock, trying again...\n"); ast_mutex_unlock(&p->lock); ast_mutex_unlock(&netlock); - /* Sleep infintismly short amount of time */ + /* Sleep for a very short amount of time */ usleep(1); - lockretrycount++; - if (lockretrycount < 100) + if (--lockretry) goto retrylock; } - if (lockretrycount > 100) { + if (!lockretry) { ast_log(LOG_ERROR, "We could NOT get the channel lock for %s! \n", p->owner->name); ast_log(LOG_ERROR, "SIP MESSAGE JUST IGNORED: %s \n", req.data); ast_log(LOG_ERROR, "BAD! BAD! BAD!\n"); |