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);



Reply via email to