(Building the petsc package consistently reproduces the issue several
times during the build, while I could build the package twice without
any issue with the patch applied).
Samuel
If e.g. a signal is being received while we are running fork(), the signal
thread may be having our SS lock when we make the space copy, and thus in the
child we can not take the SS lock any more.
* sysdeps/mach/hurd/fork.c (__fork): Lock SS->lock around __proc_dostop() call.
Signed-off-by: Samue
That looks fine. I don't think anybody cares about the freeze for
Hurd-only code, so go ahead and commit it.
2014-08-27 Samuel Thibault
Simplify atomicity of socket creation in bind.
* sysdeps/mach/hurd/bind.c (__bind): Use dir_lookup(node, "") instead of
looking up the name after linking the file.
--- a/sysdeps/mach/hurd/bind.c
+++ b/sysdeps/mach/hurd/bind.c
@@ -40,7 +40,7 @
> + if (! err)
> + if (doretry != FS_RETRY_NORMAL || retryname[0] != '\0')
> + err = EADDRINUSE;
Please use a simple && expression rather than a nested if here.
> + /* Get the address port. */
> + err = __ifsock_getsockaddr (ifsock, &aport)
Roland McGrath, le Tue 26 Aug 2014 14:26:15 -0700, a écrit :
> I assume you mean umask is 0666 or more, such that (0600 & ~umask) is 0.
Oops, sure, yes :)
> The fix to use dir_lookup of "" to invoke the active translator seems
> correct and orthogonal to the umask issue. [...] Can you send a fix
Hello,
Justus Winter, le Mon 05 May 2014 14:10:48 +0200, a écrit :
> I believe I have found two problems in the glibc.
>
> 1. hurd_check_cancel takes 'lock', and then asserts that
>'critical_section_lock' is not taken. However, hurd_thread_cancel
>first takes 'critical_section_lock' and