Re: [PATCH] Keep at least one request handler thread.

2011-11-14 Thread Samuel Thibault
Diego Nieto Cid, le Sun 30 Oct 2011 18:07:02 -0300, a écrit : > * libports/manage-multithread.c: Startover when no other thread is > listenening for requests. Agreed, good catch! That's actually probably one of the bugs (if not *the* bug) mentioned in the old mail. Samuel

Re: user-level drivers

2011-11-14 Thread Samuel Thibault
Hello, Considering the target of user-level drivers, I've come to a few biting points: - we should have a PCI arbitrer in the end. - that arbitrer should permit to confine drivers to resources of only one PCI device, no more (though of course with DMA, without IO-MMU, you could access anywher

Re: bug#10021: [PATCH id] Add error-checking on GNU

2011-11-14 Thread Paul Eggert
On 11/14/11 11:12, Eric Blake wrote: > POSIX explicitly rejects (uid_t)(-1) as a valid UID. That depends on what one means by "valid". You're right about chown of course, but it's not clear that POSIX absolutely prohibits getuid from returning (uid_t) -1. And even if POSIX did prohibit that, GNU

Re: bug#10021: [PATCH id] Add error-checking on GNU

2011-11-14 Thread Ludovic Courtès
Hi, Eric Blake skribis: > On 11/14/2011 11:54 AM, Paul Eggert wrote: [...] >>euid = geteuid (); >> - if (GETID_MAY_FAIL && euid == -1 && !use_real >> + if (euid < 0 && !use_real > > That is, how can this work? On systems where uid_t is signed, it makes > sense, but on system

Re: bug#10021: [PATCH id] Add error-checking on GNU

2011-11-14 Thread Eric Blake
On 11/14/2011 11:54 AM, Paul Eggert wrote: >else > { > + /* On GNU hosts, getuid etc. can fail and return -1. On POSIX > + hosts, such failures are not allowed and (uid_t) -1 may be a > + valid UID if uid_t is unsigned. That doesn't read correctly. You are correct t

Re: bug#10021: [PATCH id] Add error-checking on GNU

2011-11-14 Thread Roland McGrath
I think you can portably detect the failure case with the errno=0 method, rather than relying on #ifdef.

Re: bug#10021: [PATCH id] Add error-checking on GNU

2011-11-14 Thread Paul Eggert
On 11/14/11 00:52, Jim Meyering wrote: > I tested this on a gnu/linux system and found that I could indeed create a > user with a UID of 2^32-1 If we really want to support that, there would be a lot of other coreutils code that would need fixing, no? For example, the command chown 4294967295

Re: bug#10021: [PATCH id] Add error-checking on GNU

2011-11-14 Thread Jim Meyering
Ludovic Courtès wrote: ... >> However, with the patch below, it does this: >> >> $ ./id -u >> 4294967295 > > OK, good to know. Thank *you* for persevering! I'll take that as an ACK ;-) Pushed.

Re: bug#10021: [PATCH id] Add error-checking on GNU

2011-11-14 Thread Ludovic Courtès
Hi, "Alan Curry" skribis: > Ludovic =?UTF-8?Q?Court=C3=A8s?= writes: >> >> OTOH, on POSIX-conforming systems (which includes GNU/Linux, so it may >> be the majority of systems in use), -1 may well be a valid UID/GID. > > That's a bizarre statement. > > 3.428 User ID > > A non-negative integ

Re: bug#10021: [PATCH id] Add error-checking on GNU

2011-11-14 Thread Ludovic Courtès
Hi Jim, Jim Meyering skribis: > Ludovic Courtès wrote: > >> Hi Paul, >> >> Paul Eggert skribis: >> >>> On 11/12/11 13:48, Ludovic Courtès wrote: +#ifdef __GNU__ + if (euid == -1 && !use_real + && !just_group && !just_group_list && !just_context) +error

Re: bug#10021: [PATCH id] Add error-checking on GNU

2011-11-14 Thread Jim Meyering
Ludovic Courtès wrote: > Hi Paul, > > Paul Eggert skribis: > >> On 11/12/11 13:48, Ludovic Courtès wrote: >>> +#ifdef __GNU__ >>> + if (euid == -1 && !use_real >>> + && !just_group && !just_group_list && !just_context) >>> +error (EXIT_FAILURE, errno, _("cannot get effective