Re: How should nano_sleep be fixed (was: ptrace(), fork(), sleep(), exit(), SIGCHLD)

christophe barbé (christophe.barbe@lineo.fr)
Thu, 16 Aug 2001 18:00:10 +0200


Le jeu, 16 aoû 2001 12:29:05, Russell King a écrit :
> On Thu, Aug 16, 2001 at 12:17:46PM +0200, christophe barbé wrote:
> > > asmlinkage long sys_nanosleep(struct timespec *rqtp, struct timespec
> > > *rmtp)
> > > {
> > > struct timespec t;
> > > unsigned long expire;
> > > + struct pt_regs * regs = (struct pt_regs *) &rqtp;
>
> Note also that this is bogus as an architecture invariant.
>
> On ARM, we have to pass a pt_regs pointer into any function that requires
> it.

I'm not sure to understand your point.

The first sentence tell me that the "struct pt_regs ..." line is x86
specific and this was the reason behind my proposition to not add a _signal
macro but a _sys_nanosleep macro to include this too.

The second sentence seem's to indicate that this is a classic problem for
the ARM port. So if this is correct what is the best way to solve it ?

Christophe

> --
> Russell King (rmk@arm.linux.org.uk) The developer of ARM
> Linux
> http://www.arm.linux.org.uk/personal/aboutme.html
>

-- 
Christophe Barbé
Software Engineer - christophe.barbe@lineo.fr
Lineo France - Lineo High Availability Group
42-46, rue Médéric - 92110 Clichy - France
phone (33).1.41.40.02.12 - fax (33).1.41.40.02.01
http://www.lineo.com
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/