ma conférence veut que nous construisons un module où nous devons identifier chaque processus de lecture et où le même processus de lecture appelé deux fois sur le même massage écrivain, nous devrions l'insérer dans une file d'attente qui nous réveille quand tous les lecteurs ont lu J'ai atteint cet objectif en utilisant la liste de pid et boolean read/not_read à l'intérieur de chaque noeud mais il a décidé d'être méchant et de nous requérir avec un argument de FILE struct moi? ....comment identifier le processus dans le noyau lire func sans utiliser current-> pid
Répondre
Le concept clé ici est que vous ne devriez pas identifier directement les processus - vous devriez identifier struct file
s. Un nouveau struct file
est créé chaque fois que votre fichier est open()
-ed.
En fait, vous n'avez pas besoin d'ajouter des données au struct file
du tout - vous pouvez simplement transformer votre liste de PIDs dans une liste de struct file *
s, montrant les struct file
s qui ont actuellement votre dossier spécial ouvert.
Il serait, cependant, être plus efficace d'avoir le pointeur private_data
du point struct file
au niveau du noeud dans la liste qui contient un pointeur vers cette struct file
(cela vous permettra de trouver ce nœud rapidement lorsque vous travaillez avec elle , plutôt que d'avoir à scanner la liste).
- 1. PHP: obtenir le PID d'un processus spécifique
- 2. Comment déterminer le PID du parent d'un processus
- 3. pile de noyau pour le processus linux
- 4. Comment lire le PDF sous Android sans utiliser d'applications tierces?
- 5. Dans le noyau linux, où le premier processus est-il initialisé?
- 6. comment obtenir le pid d'un processus qui a envoyé un signal SIGABRT à un autre processus qui a quitté le noyau de dumping
- 7. Comment utiliser sysfs dans le module du noyau?
- 8. linux: obtenir par programme le pid parent d'un autre processus?
- 9. Java: Obtenir un processus avec un pid
- 10. Comment Linux détermine-t-il le prochain PID?
- 11. Windows 2008 R2 - Le noyau (System Process PID = 4) verrouille les fichiers et les dossiers
- 12. Comment puis-je enregistrer le processus ou l'activité du noyau utilisant le disque dans GNU/Linux?
- 13. C# - lire le texte d'un processus existant
- 14. Déchargement de noyau Linux sans processus de suppression
- 15. Comment puis-je identifier différents encodages sans utiliser de nomenclature?
- 16. Comment utiliser le moteur WMP sans fenêtre
- 17. C++ obtenir PID en utilisant le système
- 18. Algorithme FCFS pour le planificateur de processus noyau Linux
- 19. processus d'arrière-plan php problème PID
- 20. Comment arrêter le débogage (ou le processus de détachement) sans arrêter le processus?
- 21. dans un script sh, obtenir le pid d'un processus d'arrière-plan
- 22. Comment configurer le noyau Linux dans Buildroot?
- 23. Popen obtenant pid du processus nouvellement exécuté
- 24. Comment patcher le noyau Linux?
- 25. Comment trouver le PID d'une commande dash-exec
- 26. Blocage des syscalls sans autre chargement dans le système (noyau linux)
- 27. Quel noyau exécute mon processus?
- 28. Comment utiliser les contrôles dans sharepoint sans utiliser le spcontext.current
- 29. Comment identifier le sélecteur choisi dans jQuery?
- 30. Comment lire une entrée dans Fortran sans interrompre le programme?