2010-05-03 16 views
3

Je voudrais savoir s'il y a des dangers avec la génération de plusieurs threads qui créent chacun leur propre contexte udev et commencent à surveiller les changements matériels. On pourrait penser que si chaque thread a son propre contexte udev tout va bien. Toutefois, si des appels tels que udev_new ou udev_monitor_new_from_netlink accèdent à des variables globales/statiques, des problèmes peuvent survenir.Udev est-il sûr pour les threads?

Comme ni le fichier README ni le documentation ne mentionnent quoi que ce soit à propos du multithreading, je le demande ici. Est-ce que quelqu'un sait quelque chose de plus?

Répondre

3

Une inspection rapide du udev source suggère qu'aucun stockage statique/global n'est utilisé, tout semble lié au contexte.

+2

Quelques greps n'ont affiché aucun signe de fonctions non réentrantes communes (par exemple, strtok()). Disclaimer - J'ai passé exactement 2 minutes à fouiner dans le code. –

+0

@Tim, merci de passer 2 minutes de votre vie à m'aider :) – StackedCrooked