|From:||Carlos Eduardo Moreira dos Santos|
|Subject:||Re: [libmicrohttpd] Sharing per-thread resources between connections|
|Date:||Thu, 3 Jul 2014 16:58:31 +0900|
On 06/30/2014 06:30 PM, Carlos Eduardo Moreira dos Santos wrote:> <https://github.com/cemsbr/libmicrohttpd/commit/3151eff47553a8a93db7fb3355366b31aed2b262>
> I'm using zeromq between a request and a response. Its socket is not
> thread-safe and that's one of the reasons I chose MHD_USE_SELECT_INTERNALLY.
> As I am also using a thread pool, I have different sockets for each thread.
> It is expensive to open and close a socket in every connection and I would
> like to share a socket between all same-thread connections. I didn't find a
> way to do it, so I made a small change in the code
> in order to get the thread number (starting from 0) from the connectionYou might want to just use a thread-local variable to hold your connection.
> daemon. Thus, I can initialize an array of sockets only once (in the main
> function) and have them indexed by the thread number to be accessed later.
> As a side effect, I have to include internal.h, but it is working as
> expected. Was there a better way of doing this that I haven't noticed?
My 1 cent ;-).
|[Prev in Thread]||Current Thread||[Next in Thread]|