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 <miconda@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.chan@gmail.com>
> > Committer: S-P Chan <shihping.chan@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-leave@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-leave@lists.kamailio.org
_______________________________________________
Kamailio (SER) - Development Mailing List
To unsubscribe send an email to sr-dev-leave@lists.kamailio.org