Hi all,
I modified the /init/main.c to the following.
I skipped executing the "init" program.
But the program will stop after print "First Kernel thread".
Why??
Should I run the init program first or I forget to initialize something?
I try to change the library version, and the error still
exist.
P.S I use Mips r39xx machine.
Green
------------------------</init/main.c>----------------------------
static int FirstKernelThread(void)
{ printk("First Kernel thread!!\n"); execve("/bin/pthread",argv_init,envp_init); return 1; } static int init(void)
{
...
...
// execve("/sbin/init",argv_init,envp_init);
// execve("/etc/init",argv_init,envp_init); // execve("/bin/init",argv_init,envp_init); // execve("/sbin/sulogin",argv_init,envp_init); // execve("/bin/bash",argv_init,envp_init); /* create a kernel thread to run my program
pthread */
kernel_thread(FirstKernelThread, NULL, CLONE_FS | CLONE_FILES | CLONE_SIGHAND); ...
}
--------------------<testpthread.c>---------------------------
/*
2001/03/14 Lin-Ming Wan(Green) */ #include <stdio.h>
#include <pthread.h> int FirstThread(void)
{ printf("test thread!!"); return 1; } int main(void)
{ pthread_t MyThread; /* Call Thread
*/
printf("-------> FirstThread\n"); pthread_create( &MyThread, (pthread_attr_t *) NULL, (void*)FirstThread, NULL ); /*Wait for child
process*/
pthread_join( MyThread, NULL); return 1; } |
- Please help Greeen-III
- Please help guru
- Re: Please help nick
- Re: Please help Dr. Kelsey Hudson