1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-16 00:00:07 +01:00
libwebsockets/minimal-examples/ws-server/minimal-ws-server-threadpool
Andy Green d3308df40f windows: pthreads
Add support for external pthreads lib on windows and some docs about how to do.

It can build with LWS_WITH_THREADPOOL and LWS_WITH_MINIMAL_EXAMPLES including the
pthreads-dependent ones without warnings or errors on windows platform as well with this.

pthreads_t can be anything, including a struct - not a pointer-to-a-struct
but the struct itself.  These can't be cast to a void * for printing as they can
on linux, where the base type is a pointer.

Let's fix all the usage of those to determine their own thread index in terms
of the meaning to the program rather than as a tid.
2020-04-07 14:05:21 +01:00
..
mount-origin lws logo: update minimal examples 2020-03-06 04:46:39 +00:00
CMakeLists.txt windows: pthreads 2020-04-07 14:05:21 +01:00
minimal-ws-server-threadpool.c windows: pthreads 2020-04-07 14:05:21 +01:00
protocol_lws_minimal_threadpool.c windows: pthreads 2020-04-07 14:05:21 +01:00
README.md threadpool 2018-09-11 18:27:59 +08:00

lws minimal ws server (threadpool)

build

 $ cmake . && make

Pthreads is required on your system.

This demonstrates how to cleanly assign tasks bound to a wsi to a thread pool, with a queue if the pool is occupied.

It creates a threadpool with 3 worker threads and a maxiumum queue size of 4.

The web page at http://localhost:7681 then starts up 8 x ws connections.

usage

 $ ./lws-minimal-ws-server-threadpool 
[2018/03/13 13:09:52:2208] USER: LWS minimal ws server + threadpool | visit http://localhost:7681
[2018/03/13 13:09:52:2365] NOTICE: Creating Vhost 'default' port 7681, 2 protocols, IPv6 off