On peut très bien aussi jouer avec les ifdef et utiliser la fonctionnalité quand elle est disponible.
Ce n'est pas toujours aussi simple. Par exemple l'utilisation de signalfd et timerfd permet de ne pas se prendre la tête avec les signaux (voir par exemple chez l'excellent lwn.net Ghosts of Unix past, part 3: Unfixable designs), se passer de cela c'est réorganiser complètement la façon de recevoir traiter la réception des signaux. Ce n'est donc pas aussi simple que quelques ifdef.
Pour le portage de OpenSSH, entre openssh-5.8.tar.gz et openssh-5.8p2.tar.gz, un diffstat donne quand même
425 files changed, 88567 insertions(+), 798 deletions(-)
et si on ne garde que les fichiers .c et .h :
252 files changed, 28702 insertions(+), 454 deletions(-)
Et rien que sur les fichiers .c et .h on passe de 71846 à 100094 lignes (j'ai fait un bête wc -l). Ce qui abonde dans le sens de Lennart sur la plus grande simplicité de coder pour du mono-plateforme.
[^] # Re: Ça fait peur
Posté par Étienne . En réponse à la dépêche Un entretien avec Lennart Poettering. Évalué à 5.
Ce n'est pas toujours aussi simple. Par exemple l'utilisation de signalfd et timerfd permet de ne pas se prendre la tête avec les signaux (voir par exemple chez l'excellent lwn.net Ghosts of Unix past, part 3: Unfixable designs), se passer de cela c'est réorganiser complètement la façon de recevoir traiter la réception des signaux. Ce n'est donc pas aussi simple que quelques ifdef.
Pour le portage de OpenSSH, entre openssh-5.8.tar.gz et openssh-5.8p2.tar.gz, un diffstat donne quand même
425 files changed, 88567 insertions(+), 798 deletions(-)
et si on ne garde que les fichiers .c et .h :
252 files changed, 28702 insertions(+), 454 deletions(-)
Et rien que sur les fichiers .c et .h on passe de 71846 à 100094 lignes (j'ai fait un bête wc -l). Ce qui abonde dans le sens de Lennart sur la plus grande simplicité de coder pour du mono-plateforme.
Étienne