[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fri, 15 Feb 2013 21:44:54 +0200
> Date: Fri, 15 Feb 2013 11:09:14 -0800
> From: Paul Eggert <address@hidden>
> CC: Dmitry Antipov <address@hidden>, address@hidden
> On 02/15/2013 02:19 AM, Eli Zaretskii wrote:
> > I guess most of w32 functions that set h_errno can stop doing
> > that now.
> If memory serves, h_errno is part of an obsolete POSIX
> interface that Emacs no longer uses now, if the platform
> supports the current POSIX interface. As I understand it,
> the w32 code emulates the obsolete interface, so if the
> policy is to emulate the interface rather than do the
> minimal work needed to support Emacs, then w32 code needs to
> set h_errno when it emulates that interface.
The problem is that (a) w32 code sets h_errno to values that come from
errno.h, which is clearly wrong, and (b) it sets h_errno in many
network functions that are not documented to set h_errno, like accept,
recvfrom, sendto, listen, etc. I will fix both of these soon.
> The declaration of h_errno isn't needed in src/process.c;
> it's a leftover from some old code that was removed. So I
> removed the unused decl in trunk bzr 111791.