Question

J'ai des appels sysctl en espace utilisateur vers des tables sysctl configurées sur un noyau 2.6.24.J'ai migré le code sysctl vers le noyau 2.6.35.Je vois des msgs d'avertissement disant que «avertissement sysctl obsolète» lorsque je fais des appels sysctl () depuis l'espace utilisateur.La même chose fonctionne sur 2.6.24.Quelqu'un at-il une idée à ce sujet.De plus, le gestionnaire sysctl do_sysctl est situé dans sysctl.c dans 2.6.24 alors que dans 2.6.35 se trouve dans sysctl_binary.c oa

Était-ce utile?

La solution

L'appel système sysctl() a longtemps été considéré comme obsolète;en effet, la page de manuel dit ceci depuis un certain temps:

Ou plutôt ... ne l'appelle pas: l'utilisation de cet appel système est découragé, et il est si mal aimé qu'il est susceptible de disparaître dans un future version du noyau.Retirez-le de vos programmes maintenant;Utilisez le interface /proc/sys à la place.

Comme il est dit, vous devez réécrire la partie de votre espace utilisateur du code pour utiliser l'interface /proc/sys.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top