I think the change below is bad because it is exposing an internal function in a header file which may be included by apps. I know you are still looking for pthread integration solutions, so we can discuss how to fix it later.
Note that there is already an EAL function to create normal threads: rte_ctrl_thread_create() You may want a similar function for dataplane threads perhaps. 02/04/2019 05:54, Anand Rawat: > --- a/lib/librte_eal/windows/eal/include/rte_os.h > +++ b/lib/librte_eal/windows/eal/include/rte_os.h > @@ -15,7 +15,9 @@ > extern "C" { > #endif > > +#include <Windows.h> > #include <BaseTsd.h> > +#include <pthread.h> > > #define strerror_r(a, b, c) strerror_s(b, c, a) > > @@ -26,6 +28,24 @@ typedef SSIZE_T ssize_t; > > #define strtok_r(str, delim, saveptr) strtok_s(str, delim, saveptr) > > +/** > + * Create a thread. > + * This function is private to EAL. > + * > + * @param thread > + * The location to store the thread id if successful. > + * @return > + * 0 for success, -1 if the thread is not created. > + */ > +int eal_thread_create(pthread_t *thread); > + > +/** > + * Create a map of processors and cores on the system. > + * This function is private to EAL. > + * > + */ > +void eal_create_cpu_map(void);