confD Multi-threading

Yes, you can have a main thread owning the control socket and a set of worker threads, each owning its own worker socket. There is an excellent discussion on the multi-threading topic in Chapter 6.7 of the ConfD User called “The Protocol and a Library Threads Discussion”. In addition to the 9-c_threads example, there is also a very good discussion in Chapter 11.2.2 of the ConfD User Guide called “Using Threads”.

It is important to note that threads cannot share socket connections to ConfD as it may cause unpredictable results.

The locks as discussed in the Advanced Topics chapter of the User Guide are for controlling access to the datastores such as running, startup, and candidate. They are not necessarily needed for the use of multi-threading to handle the different control and worker sockets.