Domanda

Ho le chiamate SYSCTL di spazio utenti effettuate alle tabelle SYSCTL configurate su un kernel 2.6.24. Ho migrato il codice SYSCTL al kernel 2.6.35. Vedo gli AVVERTENZA MSGS Sayg che "Avvertenza sysctl deprecata" quando effettuo le chiamate di sysctl () da utenti. Lo stesso è Workinng su 2.6.24. Qualcuno ha idea su questo. Inoltre, il gestore syscctl do_sysctl islocato in syscctl.c in 2.6.24 mentre in 2.6.35 si trova in sysctl_binary.c OA

È stato utile?

Soluzione

Il sysctl() La chiamata di sistema è stata a lungo considerata deprecata; In effetti la pagina di Man ha detto questo da un po 'di tempo:

O meglio ... non chiamarlo: l'uso di questa chiamata di sistema è stato a lungo scoraggiato, ed è così non amato che è probabile che scompari in una futura versione del kernel. Rimuoverlo dai tuoi programmi ora; utilizzare il /proc/sys interfaccia invece.

Come dice, dovresti riscrivere la parte dello spazio utenti del codice per utilizzare il /proc/sys interfaccia.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top