[Libwebsockets] help on wsi pointer usage outside http callback
sh1559.lee at hanwha.com
Thu Nov 28 11:53:16 CET 2019
Below is what I have written before.
Thank you for the kind reply before. I have not learned how to reply in the mailing list yet.
I have several additional questions.
I am currently porting libwebsockets into the my existing server.
This link says that wsi should be handled only inside callback.
1. Can I deliver/pass “wsi” pointer received from my http callback to other threads and call lws_write(wsi, …) in those other threads like below? Is wsi pointer thread safe?
I observe a crash sometimes inside lws_write which is hard to find the reason.
(unsigned char *)(buffer+LWS_SEND_BUFFER_PRE_PADDING),
2. Let's assume that using wsi pointer is allowed to access from other thread.
Then, I'd like to close client connection from different threads in my streaming server instead of closing it from the inside of my http callback.
How can I close a specific client from other threads which are different from my http callback.
3. Let's again assume that using wsi pointer is allowed to access from other thread.
Do I have to monitor writable status of the wsi from http callback and let other threads know that and call lws_write from other threads?
Is there any way which I can use like (xxx.revents &POLLOUT) from different threads through wsi pointer?
4. If inside lws_xxx function crashes, how do you usually debug?
(P.S: I don’t know how to add additional question in the added answer. Please teach me how to do that as well :))
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Libwebsockets