Добрый день! Пишу модуль который создает kernel thread, который в свою очередь ловит signal-ы и соответствующим образом на них реагирует ... Беда в том, что после запуска модуля, он "повисает" в консоле ... Т.е. если я все правильно понимаю, родитель ждет завершения чайлда ... А надо чтобы модуль загружался в память, и возвращался в консоль. Подскажите, как это правильно сделать ? В остальном модуль правильно работает. Код (Text): int netf_thread(void *empty) { spin_lock_irq(¤t->sighand->siglock); sigfillset(¤t->blocked); siginitsetinv(¤t->blocked, sigmask(SIGUSR1) | sigmask(SIGTERM)); recalc_sigpending(); spin_unlock_irq(¤t->sighand->siglock); daemonize("netf"); do { ............................. } while ( 1 != atomic_read( &m_exit ) ); complete_and_exit( &thread_complete, 0 ); } static int __init init_netf_module(void) { ................... init_completion(&thread_complete); thread_pid = kernel_thread( netf_thread, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND | CLONE_THREAD ); if ( thread_pid < 0 ) { return -ENOMEM; } ................... }