On Fri, May 19, 2017 at 08:25:10PM +0000, Alin Serdean wrote:
> getcwd - is used in lib/util.c. getcwd is deprecated on Windows but has
> _getcwd which is defined in <direct.h>:
> https://msdn.microsoft.com/en-us/library/sf98bd4y(v=vs.120).aspx
> 
> getpid - is used in several files (i.e. lib/vlog.c). getpid
> is also and deprecated and _getpid should be used:
> https://msdn.microsoft.com/en-us/library/t2y34y40(v=vs.120).aspx
> The problem using _getpid is that the definition is in <process.h>.
> A file called process.h also exists in the lib folder. This will mess up
> includes.
> An option would be to use a wrapper like we use for lib/string.h(.in) but
> that would mean to also add it to the automake chain.
> A simple solution would be to map it to GetCurrentProcessId
> https://msdn.microsoft.com/en-us/library/windows/desktop/ms683180(v=vs.85).aspx
> 
> _getpid uses GetCurrentProcessId behind the scenes, casting the result
> is not required.
> 
> Signed-off-by: Alin Gabriel Serdean <[email protected]>
> Co-authored-by: Ben Pfaff <[email protected]>
> ---
> v2: used an inline function for getpid to make it POSIX compatible as
> suggested by Ben Pfaff
> ---
>  include/windows/unistd.h | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/include/windows/unistd.h b/include/windows/unistd.h
> index 8629f7e..513ecba 100644
> --- a/include/windows/unistd.h
> +++ b/include/windows/unistd.h
> @@ -17,9 +17,12 @@
>  #define _UNISTD_H   1
>  
>  #define WIN32_LEAN_AND_MEAN
> +#include <config.h>
>  #include <windows.h>
> +#include <direct.h>

Thanks for the revised patch.

Does #include <config.h> make a difference?  Every .c file should
already start out with that #include, and so if it makes a difference
then it probably indicates that some .c file has forgotten it.  (But the
Makefile checks for that, so it is unlikely.)

Thanks,

Ben.
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to