The documentation is somewhat unclear on it. I'll try to expand getpid/GetCurrentProcessId to see if they call the same things under the scenes (one would assume yes), and let you know.
Thanks, Alin. > -----Original Message----- > From: Ben Pfaff [mailto:[email protected]] > Sent: Wednesday, April 19, 2017 7:55 AM > To: Alin Serdean <[email protected]> > Cc: Sairam Venugopal <[email protected]>; [email protected] > Subject: Re: [ovs-dev] [PATCH 02/10] windows: add definition of getpid and > getcwd > > I don't know how much risk there is. If the values actually returned in > practice as process IDs by GetCurrentProcessId() are all in the range > 0...INT_MAX, then it's fine to use the implementation I suggested. But if it > might return any value, then it is safer to use _getpid(). > > On Wed, Apr 19, 2017 at 03:31:13AM +0000, Alin Serdean wrote: > > To bring more to the table: > > From includes > > typedef unsigned long DWORD; > > Our pid_t is defined: > > > https://github.com/openvswitch/ovs/blob/master/include/windows/windef > s > > .h#L41 > > > > I'm wondering if it would be best not to cut corners on this one and just > stick to _getpid and do the same thing as we already have for `string.h`. > > > > What do you think? > > > > Thanks, > > Alin. > > > -----Original Message----- > > > From: Ben Pfaff [mailto:[email protected]] > > > Sent: Saturday, April 15, 2017 6:27 AM > > > To: Sairam Venugopal <[email protected]> > > > Cc: Alin Serdean <[email protected]>; > > > [email protected] > > > Subject: Re: [ovs-dev] [PATCH 02/10] windows: add definition of > > > getpid and getcwd > > > > > > If GetCurrentProcessId() is a reasonable substitute for getpid(), > > > but the return type is different, then I would suggest an inline function, > like this: > > > > > > static inline pid_t > > > getpid(void) > > > { > > > return GetCurrentProcessId(); > > > } > > > > > > Thanks, > > > > > > Ben. > > > > > > On Tue, Mar 07, 2017 at 09:07:55AM +0000, Sairam Venugopal wrote: > > > > Shouldn’t we cast the DWORD to unsigned int for the > > > GetCurrentProcessId? > > > > > > > > > > > > > > > > > > > > On 2/5/17, 8:41 PM, "[email protected] on behalf of > > > > Alin > > > Serdean" <[email protected] on behalf of > > > [email protected]> wrote: > > > > > > > > >getcwd - is used in lib/util.c. getcwd is deprecated on Windows > > > > >but has _getcwd which is defined in <direct.h>: > > > > >https://urldefense.proofpoint.com/v2/url?u=https- > > > 3A__msdn.microsoft.c > > > > >om_en-2Dus_library_sf98bd4y-28v-3Dvs.120- > > > 29.aspx&d=DwICAg&c=uilaK90D4 > > > > > > > > >TOVoH58JNXRgQ&r=Z6vowHUOjP5ysP_g372c49Nqc1vEKqHKNBkR5Q5Z7uo > > > &m=og4savU > > > > >MMSe8GoOfKq6AMAirivJFLgVTMx5lx7hx6gk&s=CVjSRN456APj3- > > > mMAQuXYxdJ4oUgdu > > > > >wqZHzkod6cLvQ&e= > > > > > > > > > >getpid - is used in several files (i.e. lib/vlog.c). getpid is > > > > >also and deprecated and _getpid should be used: > > > > >https://urldefense.proofpoint.com/v2/url?u=https- > > > 3A__msdn.microsoft.c > > > > >om_en-2Dus_library_t2y34y40-28v-3Dvs.120- > > > 29.aspx&d=DwICAg&c=uilaK90D4 > > > > > > > > >TOVoH58JNXRgQ&r=Z6vowHUOjP5ysP_g372c49Nqc1vEKqHKNBkR5Q5Z7uo > > > &m=og4savU > > > > > > > > >MMSe8GoOfKq6AMAirivJFLgVTMx5lx7hx6gk&s=pDh2W8ECiQdxZdHgHBdW > > > HIDhLPcTJ9 > > > > >A6rb2n1YcRZ94&e= 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://urldefense.proofpoint.com/v2/url?u=https- > > > 3A__msdn.microsoft.c > > > > >om_en-2Dus_library_windows_desktop_ms683180-28v-3Dvs.85- > > > 29.aspx&d=DwI > > _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
