[DGD] Call_out question
Felix A. Croes
felix at dworkin.nl
Fri Mar 21 14:40:11 CET 2003
Noah Lee Gibbs <angelbob at monkeyspeak.com> wrote:
> In a function called by initd, I'm scheduling a call_out. The
> call_out() call returns 1, so it's valid. I supplied 0 for the time so it
> should occur immediately after the initial thread is done.
>
> I put a logging statement at the beginning of the function that would be
> called, so I've verified that it's never called. That's not the odd
> thing, though. The odd thing is that I can't telnet to the server if I
> try to schedule that call_out -- it appears hung. I can comment out just
> the line with the call_out and I get access just fine. I can leave the
> line in and I don't get a prompt when I telnet in. The port is being
> opened, telnet connects. I just don't get any output in response.
>
> As I say, I can comment out the line entirely so I don't need the
> call_out to succeed in order to start up. And I've put the logging
> statement in, so I know it's not calling the function anyway. I'm also
> not calling suspend_system in the usual places -- only call_out.
This can "normally" happen if your system somehow gets into an
infinite loop with no tick limit.
Can you reproduce the problem with a bare kernel library, plus a
/usr/System/initd.c like this:
# include <kernel/kernel.h>
void create() { DRIVER->message("started\n"); call_out("foo", 0); }
void foo() { DRIVER->message("called\n"); }
Regards,
Dworkin
_________________________________________________________________
List config page: http://list.imaginary.com/mailman/listinfo/dgd
More information about the DGD
mailing list