Writing as init without /dev/console?
From: Nico Schottelius
Date: Mon Jun 20 2005 - 08:51:59 EST
Hello!
Currently I do not open /dev/console in cinit, but currently
I do see very strange behaviour:
If the first printf() in the following code (from serv/cinit.c) is
enabled, the socket communication will later fail:
----------------------------------------------------------------------
#ifdef DEBUG
// printf("ARGC=%d\n",argc);
#endif
set_signals(ACT_SERV); /* set signal handlers */
#ifdef DEBUG
printf("ARGC=%d\n",argc);
#endif
----------------------------------------------------------------------
I don't know what could be the relation between this printf and the
behaviour that cinit-0.1 later hangs in comm/do_result when reading
the resulting byte from a socket.
If you want to see the full code, it can be found at [0].
This code contains serv/cinit.c, which is the same as found
in cinit-0.0.8 [1] and serv/cinit.c-cinit0.1, which is the one
with a bit more debugging and the printf() before set_signals,
which makes cinit hang in comm/do_result at the position when
fpoint() is called.
Perhaps this is an issue with not opening /dev/console? It's just
a guess, because I don't have any idea what could cause this behaviour.
If someone has _any_ idea, I would be very thankful.
Nico
[0]: http://creme.schottelius.org/~nico/pre-release/cLinux/cinit-0.1-rc4.tar.bz2
P.S.: I do read replies to the mailing list via web-interface, replies
to me must be confirmed otherwise.
--
Keep it simple & stupid, use what's available.
Please use pgp encryption: 8D0E 27A4 is my id.
http://nico.schotteli.us | http://linux.schottelius.org
Attachment:
pgp00000.pgp
Description: PGP signature