For 5.7 stable I have a draft PR
https://github.com/kamailio/kamailio/pull/3744 that minimises
thread execution: it will run functions in a thread only if process_no = 0.
This restores unchanged
behaviour to all workers. FYC.

On Tue, 6 Feb 2024 at 16:02, Henning Westerholt via sr-dev <
sr-dev@lists.kamailio.org> wrote:

> Hello,
>
> yes, good idea. It would be also probably a good idea to have a bit more
> time to review these commits in git master before merging them directly to
> stable branch, as done some minutes ago.
>
> Cheers,
>
> Henning
>
> > -----Original Message-----
> > From: Daniel-Constantin Mierla via sr-dev <sr-dev@lists.kamailio.org>
> > Sent: Dienstag, 6. Februar 2024 08:40
> > To: Kamailio (SER) - Development Mailing List <sr-dev@lists.kamailio.org
> >
> > Cc: Daniel-Constantin Mierla <mico...@gmail.com>
> > Subject: [sr-dev] Re: git:master:ba921b21: core/rthread.h: add prototype
> for
> > db queries
> >
> > Hello,
> >
> > by latest commits, I notice that more functions need to be executed in
> another
> > thread when having to deal libssl3. I wonder if it is not an alternative
> to run
> > only the tls module functions in other threads?
> >
> > If not, maybe we can introduce a global parameter (or per module) that
> makes
> > this wrapper functions to execute directly or through another thread.
> There
> > are cases when it is no need to run through different threads.
> >
> > Cheers,
> > Daniel
> >
> > On 06.02.24 03:40, S-P Chan via sr-dev wrote:
> > > Module: kamailio
> > > Branch: master
> > > Commit: ba921b2112e87625fba5789d1b049161bb611073
> > > URL:
> > >
> > https://github.com/kamailio/kamailio/commit/ba921b2112e87625fba5789
> > d1b
> > > 049161bb611073
> > >
> > > Author: S-P Chan <shihping.c...@gmail.com>
> > > Committer: S-P Chan <shihping.c...@gmail.com>
> > > Date: 2024-02-06T10:17:53+08:00
> > >
> > > core/rthread.h: add prototype for db queries
> > >
> > > ---
> > >
> > > Modified: src/core/rthreads.h
> > >
> > > ---
> > >
> > > Diff:
> > >
> > https://github.com/kamailio/kamailio/commit/ba921b2112e87625fba5789
> > d1b
> > > 049161bb611073.diff
> > > Patch:
> > >
> > https://github.com/kamailio/kamailio/commit/ba921b2112e87625fba5789
> > d1b
> > > 049161bb611073.patch
> > >
> > > ---
> > >
> > > diff --git a/src/core/rthreads.h b/src/core/rthreads.h index
> > > a5ad7670dae..a416ad2ca50 100644
> > > --- a/src/core/rthreads.h
> > > +++ b/src/core/rthreads.h
> > > @@ -98,3 +98,60 @@ static void run_threadV(_thread_protoV fn)
> > >     pthread_join(tid, NULL);
> > >  }
> > >  #endif
> > > +
> > > +/*
> > > + * prototype: int fn(void *, void *) { ... }  */ #ifdef
> > > +KSR_RTHREAD_NEED_4PP typedef int (*_thread_proto4PP)(void *, void *);
> > > +struct _thread_args4PP {
> > > +   _thread_proto4PP fn;
> > > +   void *arg1;
> > > +   void *arg2;
> > > +   int *ret;
> > > +};
> > > +static void *run_thread_wrap4PP(struct _thread_args4PP *args) {
> > > +   *args->ret = (*args->fn)(args->arg1, args->arg2);
> > > +   return NULL;
> > > +}
> > > +
> > > +static int run_thread4PP(_thread_proto4PP fn, void *arg1, void *arg2)
> > > +{
> > > +   pthread_t tid;
> > > +   int ret;
> > > +
> > > +   pthread_create(&tid, NULL, (_thread_proto)run_thread_wrap4PP,
> > > +                   &(struct _thread_args4PP){fn, arg1, arg2, &ret});
> > > +   pthread_join(tid, NULL);
> > > +
> > > +   return ret;
> > > +}
> > > +#endif
> > > +
> > > +/*
> > > + * prototype: void fn(void *) { ... }  */ #ifdef KSR_RTHREAD_NEED_0P
> > > +typedef void (*_thread_proto0P)(void *); struct _thread_args0P {
> > > +   _thread_proto0P fn;
> > > +   void *arg1;
> > > +};
> > > +static void *run_thread_wrap0P(struct _thread_args0P *args) {
> > > +   (*args->fn)(args->arg1);
> > > +   return NULL;
> > > +}
> > > +
> > > +static void run_thread0P(_thread_proto0P fn, void *arg1) {
> > > +   pthread_t tid;
> > > +
> > > +   pthread_create(&tid, NULL, (_thread_proto)run_thread_wrap0P,
> > > +                   &(struct _thread_args0P){fn, arg1});
> > > +   pthread_join(tid, NULL);
> > > +}
> > > +#endif
> > >
> > > _______________________________________________
> > > Kamailio (SER) - Development Mailing List To unsubscribe send an email
> > > to sr-dev-le...@lists.kamailio.org
> >
> > --
> > Daniel-Constantin Mierla (@ asipto.com)
> > twitter.com/miconda -- linkedin.com/in/miconda Kamailio Consultancy,
> > Training and Development Services -- asipto.com Kamailio Advanced
> Training,
> > February 20-22, 2024 -- asipto.com Kamailio World Conference, April
> 18-19,
> > 2024, Berlin -- kamailioworld.com
> >
> > _______________________________________________
> > Kamailio (SER) - Development Mailing List To unsubscribe send an email
> to sr-
> > dev-le...@lists.kamailio.org
> _______________________________________________
> Kamailio (SER) - Development Mailing List
> To unsubscribe send an email to sr-dev-le...@lists.kamailio.org
>
_______________________________________________
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-le...@lists.kamailio.org

Reply via email to