• # Commentaire sur l'API

    Posté par . En réponse au journal wait4: attendre la fin d’un ou plusieurs processus quelconques. Évalué à 2.

    Bonjour,
    Ce code m'intéresse énormément. C'est en effet assez compliqué de monitorer proprement le cycle de vie d'un process.
    Les solutions habituelles (signaux, erreurs sur file descriptors) posent plein de soucis…
    Et je suis très content de voir qu'il y a une solution propre de disponible par netlink.
    Je n'ai pas encore regardé de très près le code, mais une chose me pose un petit soucis, c'est l'API.
    En effet, le seul moyen de profiter de ce code, c'est de passer par une fonction bloquante, qui oblige à utiliser des threads si le programme qui l'utilise, doit pouvoir faire autre chose pendant ce temps.
    Il vaudrait mieux que l'API expose un file descriptor qui serait pollable (avec par exemple select/poll ou epoll) et propose, au choix, une fonction pour traiter les événements en attente sur le fd en notifiant le client de ta librairie, ou alors permette de lister les événements qui se sont produits pour que le client les traite.
    C'est ce qui est fait par exemple dans la libudev, ça marche très bien et c'est très pratique pour le développeur qui l'utilise ^
    En tout cas, merci beaucoup d'avoir partagé.