[sr-dev] git:master: modules_k/presence Fixed refresh_watcher function
Peter Dunkley
peter.dunkley at crocodile-rcs.com
Fri May 4 11:12:54 CEST 2012
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 <anca.vamanu at 1and1.ro>
> > Committer: Anca Vamanu <anca.vamanu at 1and1.ro>
> > 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
> > sr-dev at lists.sip-router.org
> > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
> >
>
>
--
Peter Dunkley
Technical Director
Crocodile RCS Ltd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20120504/e60595b7/attachment-0001.htm>
More information about the sr-dev
mailing list