Branch: refs/heads/threads-improvement
Home: https://github.com/kronosnet/kronosnet
Commit: 0e9ed1856686dab41f5e20dbbf6c59036c1ca626
https://github.com/kronosnet/kronosnet/commit/0e9ed1856686dab41f5e20dbbf6c5…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2018-12-21 (Fri, 21 Dec 2018)
Changed paths:
M libknet/handle.c
M libknet/threads_common.c
M libknet/threads_common.h
M libknet/threads_dsthandler.c
M libknet/threads_heartbeat.c
M libknet/threads_pmtud.c
M libknet/threads_rx.c
M libknet/threads_tx.c
M libknet/transport_sctp.c
Log Message:
-----------
[libknet] allow better handling of internal threads
while playing around adding some dynamic internal threads, i did
hit a limitation with allocating a dynamic THREAD_MAX value based
on OS availability of certain features.
this patch changes from dynamic to static allocation of threads, that
can always be increased if necessary without breaking anything.
simplify thread numbering and conditionals on OS features
improve debugging of thread status by adding a 2 phase thread registration
process:
- register a thread before starting it with THREAD_REGISTERED before pthread_create
- set a thread status as started with THREAD_STARTED
any failure in between can now be detected in debugging logs.
Note for developers: all threads *MUST* be registered/started before
wait_all_threads_status check in handle.c.
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
**NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/
Functionality will be removed from GitHub.com on January 31st, 2019.
Branch: refs/heads/threads-improvement
Home: https://github.com/kronosnet/kronosnet
Commit: 7e4dd019c6362bbfa2f32aea775768743a3a85c4
https://github.com/kronosnet/kronosnet/commit/7e4dd019c6362bbfa2f32aea77576…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2018-12-21 (Fri, 21 Dec 2018)
Changed paths:
M libknet/handle.c
M libknet/threads_common.c
M libknet/threads_common.h
M libknet/threads_dsthandler.c
M libknet/threads_heartbeat.c
M libknet/threads_pmtud.c
M libknet/threads_rx.c
M libknet/threads_tx.c
M libknet/transport_sctp.c
Log Message:
-----------
[libknet] allow better handling of internal threads
while playing around adding some dynamic internal threads, i did
hit a limitation with allocating a dynamic THREAD_MAX value based
on OS availability of certain features.
this patch changes from dynamic to static allocation of threads, that
can always be increased if necessary without breaking anything.
simplify thread numbering and conditionals on OS features
improve debugging of thread status by adding a 2 phase thread registration
process:
- register a thread before starting it with THREAD_STARTING
- register a thread as started with THREAD_STARTED
any failure in between can now be detected in debugging logs.
Note for developers: all threads *MUST* be registered/started before
wait_all_threads_status check in handle.c.
Signed-off-by: Fabio M. Di Nitto <fdinitto(a)redhat.com>
**NOTE:** This service has been marked for deprecation: https://developer.github.com/changes/2018-04-25-github-services-deprecation/
Functionality will be removed from GitHub.com on January 31st, 2019.