• [^] # Re: Kill init by touching a bunch of files

    Posté par . En réponse à la dépêche Exploiter inotify, c’est simple. Évalué à 8.

    Alors ce n'est pas touché en même temps, mais si on traite les événements trop lentement par rapport à leur vitesse d'arrivé. Immaginons par exemple qu'on utilise un script shell à base d'inotifywait qui traite tous les nouveaux fichiers (disons les nouveaux fichiers et ceux déplacés) et que le traitement prend 1s. Si tu déplace beaucoup de fichiers dans ce dossier (par exemple une restauration d'archive ou la création d'un clone de dépôt git/hg, tu va voir ta file d'attente exploser.

    La solution c'est :

    • de ne jamais traiter les événements dans le même thread que la boucle d'événements inotify
    • de traiter l'événement spécial qui indique que des événements ont étaient dropé de la queue

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)