Re: [PATCH]exit.c: support larger exit code

From: Alexander Clouter
Date: Mon Aug 09 2010 - 05:08:20 EST


"Zhang, Wei-Jovi (NSN - CN/Hangzhou)" <wei-jovi.zhang@xxxxxxx> wrote:
>
> I think this is just a convention of userspace program. if program
> want to obey this convention, it should be use one-byte limition exit
> code, I agree this. so this mail thread's subject should change to "if
> program use exit code with not want to obey the convention, kernel
> should return which value?"
>
I do have to agree with you on this point, although I stand by my
thoughts on *how* you should be using the exit code. Whilst writing my
post I was thinking why in C is it 'int main()' and not 'u8 main()'.

A dig around with my Googlefu and on Wackipedia gave me nothing
either...

One thing I can think of why the kernel is forcing a one byte return
code is that:
* guarantee there is no endian issue; hard to pull off though but I
guess that exit code could travel across IP to another
architecture
* stop people abusing the exitcode :)

There is probably a deeper reason as errno.h/errno-base.h all seem to be
one byte return codes too. I'm starting to ponder if that top three
bytes are meant to carry some other information?

Cheers

--
Alexander Clouter
.sigmonster says: Make sure your code does nothing gracefully.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/