bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Gnumach cleanup 10


From: Samuel Thibault
Subject: Re: Gnumach cleanup 10
Date: Mon, 21 Jul 2008 11:25:43 +0100
User-agent: Mutt/1.5.12-2006-07-14

Barry deFreese, le Sun 20 Jul 2008 23:46:24 -0400, a écrit :
>       * i386/i386/ipl.h (ivect[]): return void instead of int.
>       * i386/i386at/com.c (comintr, comstop): Return 0 at end of function.

Err, that's not coherent: comintr is put in ivect...

>       * i386/i386/trap.c (user_trap): Return 1 if end of function is reached.

See the comment: /*NOTREACHED*/
So there shouldn't be a need for a return here.  Add
__attribute__((noreturn)) to i386_exception and similar instead, see
Debugger for instance.

> Index: kern/eventcount.c
> ===================================================================
> RCS file: /sources/hurd/gnumach/kern/eventcount.c,v
> retrieving revision 1.1.1.1.4.7
> diff -u -p -r1.1.1.1.4.7 eventcount.c
> --- kern/eventcount.c 3 Dec 2006 21:50:20 -0000       1.1.1.1.4.7
> +++ kern/eventcount.c 21 Jul 2008 03:21:06 -0000
> @@ -177,7 +177,7 @@ kern_return_t evc_wait(natural_t ev_id)
>                               thread_block(evc_continue);
>                               return KERN_SUCCESS;
>                       }
> -                     ret = KERN_NO_SPACE; /* XX */
> +                     return KERN_NO_SPACE; /* XX */
>               }
>       simple_unlock(&ev->lock);
>       splx(s);

Err, no, the simple_unlock() will not be done!

What needs to be fixed (and what I was talking about on irc) was
evc_wait_clear!

Samuel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]