Hi Anca, I noticed this myself when working on the notify stuff last week. I have no idea what this function does. It appears to be completely unused.
Peter On Fri, 2012-05-04 at 12:05 +0300, Anca Vamanu wrote: > Hi Peter, > > > I noticed a synchronization bug in refresh_watcher() function and I > fixed it. But then I saw that actually this function is not used > inside presence module anymore and does not seem to be exported > either. Do you know of any reason why this function is useful? > Otherwise I will remove it. > > > Regards, > Anca > > > On 05/04/2012 11:59 AM, Anca Vamanu wrote: > > > Module: sip-router > > Branch: master > > Commit: ca7f45d98faea9479b86e9206c4e2923a009782a > > URL: > > http://git.sip-router.org/cgi-bin/gitweb.cgi/sip-router/?a=commit;h=ca7f45d98faea9479b86e9206c4e2923a009782a > > > > Author: Anca Vamanu <[email protected]> > > Committer: Anca Vamanu <[email protected]> > > Date: Fri May 4 11:57:27 2012 +0300 > > > > modules_k/presence Fixed refresh_watcher function > > > > --- > > > > modules_k/presence/subscribe.c | 40 > > ++++++++++++++++++++++++++++------------ > > 1 files changed, 28 insertions(+), 12 deletions(-) > > > > diff --git a/modules_k/presence/subscribe.c b/modules_k/presence/subscribe.c > > index add1581..ae9e442 100644 > > --- a/modules_k/presence/subscribe.c > > +++ b/modules_k/presence/subscribe.c > > @@ -2225,9 +2225,10 @@ int refresh_watcher(str* pres_uri, str* watcher_uri, > > str* event, > > { > > unsigned int hash_code; > > subs_t* s, *s_copy; > > - pres_ev_t* ev; > > + pres_ev_t* ev; > > struct sip_uri uri; > > str user, domain; > > + subs_t *s_array = NULL; > > /* refresh status in subs_htable and send notify */ > > > > ev= contains_event(event, NULL); > > @@ -2262,28 +2263,43 @@ int refresh_watcher(str* pres_uri, str* > > watcher_uri, str* event, > > s->status= status; > > if(reason) > > s->reason= *reason; > > - > > + > > s_copy= mem_copy_subs(s, PKG_MEM_TYPE); > > if(s_copy== NULL) > > { > > LM_ERR("copying subs_t\n"); > > lock_release(&subs_htable[hash_code].lock); > > - return -1; > > + goto error; > > } > > - lock_release(&subs_htable[hash_code].lock); > > + > > s_copy->local_cseq++; > > - if(notify(s_copy, NULL, NULL, 0)< 0) > > - { > > - LM_ERR("in notify function\n"); > > - pkg_free(s_copy); > > - return -1; > > - } > > - pkg_free(s_copy); > > - lock_get(&subs_htable[hash_code].lock); > > + s_copy->next= s_array; > > + s_array= s_copy; > > } > > s= s->next; > > } > > + lock_release(&subs_htable[hash_code].lock); > > + > > + s = s_array; > > + while (s) { > > + if(notify(s, NULL, NULL, 0)< 0) { > > + LM_ERR("Failed to send Notify\n"); > > + } > > + s_copy = s; > > + s = s->next; > > + pkg_free(s_copy); > > + } > > + > > return 0; > > + > > +error: > > + s = s_array; > > + while (s) { > > + s_copy = s; > > + s = s->next; > > + pkg_free(s_copy); > > + } > > + return -1; > > } > > > > int get_db_subs_auth(subs_t* subs, int* found) > > > > > > _______________________________________________ > > sr-dev mailing list > > [email protected] > > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev > > > > -- Peter Dunkley Technical Director Crocodile RCS Ltd
_______________________________________________ sr-dev mailing list [email protected] http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
