Hozzászólások
Hello!
A kovetkezo temaban szeretnem a segitsegeteket kerni:
Egy egyszeru kernel modul fejlesztese kozben akadt nemi problema:
A modul a system -reboot(v. shut down) -t kesleltetne megadott itotartamig.
a 23. sorban levo fuggvenyhivas nem kesleltet megadott idotartamot.Miert?
Az egesz kodot az atlathatosag kedveert nem szurtam be,sztem igy is ertheto ...
OP : UHU Linux 1.1
[code:1:7accc1dfaa]
10 int sec;
14 asmlinkage int (*nanosleep_call)(struct timespec*, struct timespec* );
.....................................
16 asmlinkage long new_sys_reboot(int magic1, int magic2, unsigned int cmd, void * arg)
17 {
18 struct timespec req;
19 req.tv_sec = sec;
20 req.tv_nsec= 0;
21
22 printk("<1>""sec: %d\n", sec);//OK
23 nanosleep_call(&req, NULL);
24
25 printk("<1>""%s", "Bye bye...!\n");
26 original_sys_reboot(magic1, magic2, cmd, arg);
27 return 0;
28 }
.................................
34 int __init p() { nanosleep_call = sys_call_table[__NR_nanosleep]; return 0; }
.................................
49 MODULE_PARM(sec, "i");
......
[/code:1:7accc1dfaa]
Minden hozzaszolast es segitseget elore is koszonok!
- A hozzászóláshoz be kell jelentkezni
elmagyarazod, miert kell ehhez kernel modul?
- A hozzászóláshoz be kell jelentkezni
Nem a kernel modulban van a lenyeg,hanem a nanosleep() -ben!
Tudom,hogy siman meglehet oldani,pl: bash,de en arra vagyok kivancsi hogy miert nem mukodik a nanosleep().
- A hozzászóláshoz be kell jelentkezni