[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [port parallele] Probleme de detection



Le Jeudi 26 Février 2004 16:49, Nicolas Rueff a écrit :
> Ainsi parla gaetan cottron le 057ème jour de l'an 2004:
...
>
> « open  [et  creat]  renvoient  le nouveau descripteur de fichier s'ils
> réussissent, ou -1 s'ils échouent, auquel cas errno contient le code
> d'erreur. »
>

J'ai bien compris pour le -1, c'est plus pour le 3 que j'ai du mal.

>
> Les premiers appels à des libtrucs sont faits au chargement de
> l'exécutable qui tente de trouver les bibliothèques liées à ton
> application. Il essaie de les charger (en essayant dans plusieurs
> endroits "standards") , mais le fait qu'il ne les trouve pas n'est pas
> forcément une erreur, tant qu'au final il en trouve au moins une
> correspondante (chaipas si j'ai été clair, là;). Bon, bref, c'est pas
> grave.
>

OK, oui c'est claire (du moins pour moi). Une autre petite chose du coup,
il tente sur 2 fichiers de faire :
access("/chemin/nom_fichier", F_OK)
Les 2 fois ça renvoie -1, est ce normal qu'il ne tente pas sur un 3e, est ce 
que ça pourrait valider l'erreur sur cette absence.


P.S. :

Je finis avec le fichier complet de strace ( strace -o imprimante.txt cat 
gaziniere.txt | lpr -Pljet3@knop -V ) :

execve("/bin/cat", ["cat", "gaziniere.txt"], [/* 16 vars */]) = 0
uname({sys="Linux", node="knop", ...})  = 0
brk(0)                                  = 0x804c78c
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0x40017000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
directory)
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or 
directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=51846, ...}) = 0
old_mmap(NULL, 51846, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40018000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or 
directory)
open("/lib/libc.so.6", O_RDONLY)        = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`^\1\000"..., 512) = 
512
fstat64(3, {st_mode=S_IFREG|0644, st_size=1243076, ...}) = 0
old_mmap(NULL, 1253316, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x40025000
old_mmap(0x4014c000, 36864, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 
0x126000) = 0x4014c000
old_mmap(0x40155000, 8132, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|
MAP_ANONYMOUS, -1, 0) = 0x40155000
close(3)                                = 0
munmap(0x40018000, 51846)               = 0
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=17585632, ...}) = 0
mmap2(NULL, 2097152, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40157000
mmap2(NULL, 28672, PROT_READ, MAP_PRIVATE, 3, 0x2a7) = 0x40018000
brk(0)                                  = 0x804c78c
brk(0x806d78c)                          = 0x806d78c
brk(0)                                  = 0x806d78c
brk(0x806e000)                          = 0x806e000
mmap2(NULL, 212992, PROT_READ, MAP_PRIVATE, 3, 0x499) = 0x40357000
mmap2(NULL, 4096, PROT_READ, MAP_PRIVATE, 3, 0x503) = 0x4001f000
close(3)                                = 0
fstat64(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0
open("gaziniere.txt", O_RDONLY|O_LARGEFILE) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=3609, ...}) = 0
read(3, " -------------------------------"..., 4096) = 3609
write(1, " -------------------------------"..., 3609) = 3609
read(3, "", 4096)                       = 0
close(3)                                = 0
close(1)                                = 0
exit_group(0)                           = ?



Reply to: