conclusion : ls a été pensé et programmé pour fonctionner en environnement multiutilisateur.
Tu parles...
Essaie donc de reprogrammer toi-même ls. C'est assez simple, et tu remarqueras tout de suite que, lorsque tu fais un opendir, tu peux recevoir les erreurs :
EACCES Permission denied.
EMFILE Too many file descriptors in use by process.
ENFILE Too many files are currently open in the system.
ENOENT Directory does not exist, or name is an empty
string.
ENOMEM Insufficient memory to complete the operation.
ENOTDIR
name is not a directory.
(tiré de man 3 opendir).
Le programmeur de ls, qui travaillait comme n'importe qui travaille, a tout simplement traité tous les cas d'erreur possibles, en faisant afficher un message pour chaque cas. Donc il s'est contenté de faire afficher un message traduisant le problème pour un être humain lorsqu'il recevait EACCES, et c'est tout.
Pas besoin d'aller chercher des histoires de conception pour le multiutilisateur, quand on programme à coup de manpages sous un UNIX, le multiutilisateur est géré sans même que l'on s'en rende compte.
[^] # Re: ?
Posté par CoinKoin . En réponse au journal Unix : ton esprit fout le camp. Évalué à 5.
Tu parles...
Essaie donc de reprogrammer toi-même ls. C'est assez simple, et tu remarqueras tout de suite que, lorsque tu fais un opendir, tu peux recevoir les erreurs :
EACCES Permission denied.
EMFILE Too many file descriptors in use by process.
ENFILE Too many files are currently open in the system.
ENOENT Directory does not exist, or name is an empty
string.
ENOMEM Insufficient memory to complete the operation.
ENOTDIR
name is not a directory.
(tiré de man 3 opendir).
Le programmeur de ls, qui travaillait comme n'importe qui travaille, a tout simplement traité tous les cas d'erreur possibles, en faisant afficher un message pour chaque cas. Donc il s'est contenté de faire afficher un message traduisant le problème pour un être humain lorsqu'il recevait EACCES, et c'est tout.
Pas besoin d'aller chercher des histoires de conception pour le multiutilisateur, quand on programme à coup de manpages sous un UNIX, le multiutilisateur est géré sans même que l'on s'en rende compte.