Journal La revanche du cochon/chien

Posté par (page perso) . Licence CC by-sa
Tags : aucun
44
10
sept.
2012

Traditionnellement sous *BSD, le nom fonction qui termine l’exécution de l'OS est une boutade : die_you_gravy_sucking_pig_dog(void).

C'est le cas par exemple sous NetBSD[1], OpenBSD[2], DragonFlyBSD[3] mais également pour FreeBSD jusqu'à ce qu'au détour d'un commit[4] la fonction disparaisse au profit de quelque chose de soit disant moins crétin (perform_shutdown(void);)

--- head/sbin/shutdown/shutdown.c   2009/12/29 08:45:50 201179
+++ head/sbin/shutdown/shutdown.c   2009/12/29 08:49:43 201180
@@ -93,7 +93,7 @@
 static const char *nosync, *whom;

 static void badtime(void);
-static void die_you_gravy_sucking_pig_dog(void);
+static void perform_shutdown(void);
 static void finish(int);
 static void getoffset(char *);
 static void loop(void);
@@ -258,7 +258,7 @@
        if (!tp->timeleft)
            break;
    }
-   die_you_gravy_sucking_pig_dog();
+   perform_shutdown();
 }

 static jmp_buf alarmbuf;
@@ -325,7 +325,7 @@
 }

 static void
-die_you_gravy_sucking_pig_dog()
+perform_shutdown(void)
 {
    char *empty_environ[] = { NULL };

@@ -499,7 +499,7 @@
 }

 static void
-badtime()
+badtime(void)
 {
    errx(1, "bad time format");
 }

C'en était fait du cochon/chien. Au grand plaisir d'Apple sans doute qui s'était déjà permis un petit pincement de nez[5] humoristique.

#ifdef __APPLE__
void log_and_exec_reboot_or_halt(void);
#else
void die_you_gravy_sucking_pig_dog(void);
#endif

Mais la vie continuait son cours malgré la disparition depuis près de 3 ans de ce brave et regretté cochon/chien jusqu'à ce que Ruben de Groot poste un PR référencé sous le numéro bin/169127 qui disait en substance, qu'il aimait bien cette vanne, que ça le faisait bien marrer, que ce n'était pas crétin et qu'il faudrait peut-être faire preuve d'un peu d'humour[6].

Le premier Aout à 09:10:21 UTC, son patch a été accepté et mergé[7]. Vous retrouvez donc votre cher cochon/chien en mettant à jour vers FreeBSD 9.1 qui est testable en version rc1[8]

Enjoy

[1] http://cvsweb.netbsd.org/bsdweb.cgi/src/sbin/shutdown/shutdown.c?annotate=1.55&only_with_tag=MAIN (ligne 357)
[2] http://www.openbsd.org/cgi-bin/cvsweb/src/sbin/shutdown/shutdown.c?annotate=1.36 (ligne 331)
[3] http://gitweb.dragonflybsd.org/dragonfly.git/blob/HEAD:/sbin/shutdown/shutdown.c (ligne 324)
[4] http://svnweb.freebsd.org/base?view=revision&revision=201180
[5] http://opensource.apple.com/source/system_cmds/system_cmds-550.6/shutdown.tproj/shutdown.c
[6] http://www.freebsd.org/cgi/query-pr.cgi?pr=169127&cat=
[7] http://svnweb.freebsd.org/base?view=revision&revision=238968
[8] http://lists.freebsd.org/pipermail/freebsd-stable/2012-August/069233.html

  • # Oh non...

    Posté par (page perso) . Évalué à  10 .

    On va voir débouler la PETA…

  • # Petit correctif

    Posté par (page perso) . Évalué à  6 .

    Malheureusement ça n'a pas été mergé dans la 9.1, donc ce bout de code ne sera de retour "que" pour la 10.0

    Peut être 9.2 si quelqu'un insiste pour demande le merge :D

    • [^] # Re: Petit correctif

      Posté par (page perso) . Évalué à  4 .

      Oui dommage pour 9.1 (rembourser !). Mais c'est déjà mergé dans 9-STABLE

      les pixels au peuple !

    • [^] # Re: Petit correctif

      Posté par (page perso) . Évalué à  3 . Dernière modification : le 10/09/12 à 18:51

      Malheureusement ça n'a pas été mergé dans la 9.1, donc ce bout de code ne sera de retour "que" pour la 10.0

      Cool en même temps que la suppression de named CVS pkg_add ;)

  • # Constante

    Posté par . Évalué à  10 .

    #define HUMOUR 0xB16B00B5
    
    

    ---> []

    • [^] # Re: Constante

      Posté par (page perso) . Évalué à  10 .

      Dommage que cette ignominie revienne. Ce changement de nom de fonction, vers quelque chose de respectueux, était une bonne chose. Un premier pas avait été fait avec la disparition des propos dégradants pour les femmes ; il était normal qu'on respecte aussi les autres animaux domestiques.

  • # Make love

    Posté par (page perso) . Évalué à  10 .

    Ça fait un peu penser à la blague :

    % make love
    Not war.
    
    

    Qui a été ajoutée en 1998, puis
    activée par défaut, puis gardée par un #ifdef (qui n'est pas défini par défaut, mais les esprits chagrins peuvent le masquer)

    • [^] # Re: Make love

      Posté par (page perso) . Évalué à  3 .

      qui n'est pas défini par défaut

      En fait si. Tu as une double négation #ifndef WITHOUT_OLD_JOKE. Du coup ce n'est pas pas définie par défaut mais les mauvais coucheurs peuvent rajouter WITHOUT_OLD_JOKE=yes dans leur src.conf

      [joris@rmdir ~]$ grep OLD_JOKE /etc/src.conf /etc/make.conf 
      [joris@rmdir ~]$ make love
      Not war.
      
      
  • # Et la nimage ?

    Posté par . Évalué à  2 .

    Ben oui, où qu'elle est la nimage ?

    Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

  • # Cochon-chien

    Posté par . Évalué à  4 .

    En français, le "/" signifie le choix exclusif entre plusieurs alternatives.

    Dans le cas présent, si j'ai bien compris, il s'agit d'un animal qui serait à la fois un cochon et un chien, et pas soit un cochon, soit un chien, donc cochon-chien et pas cochon/chien.

    • [^] # Re: Cochon-chien

      Posté par . Évalué à  9 .

      il s'agit d'un animal qui serait à la fois un cochon et un chien

      Et re mi-ours derrière, non ?

      ====>[]

    • [^] # Re: Cochon-chien

      Posté par (page perso) . Évalué à  2 .

      En fait je pense qu'il doit y avoir une meilleure traduction du terme. Mais l'ignorant je me suis dis que la forme avec / ne manquerai pas de susciter un débat.

    • [^] # Re: Cochon-chien

      Posté par . Évalué à  3 .

      Un cochien ?

      Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

      • [^] # Re: Cochon-chien

        Posté par . Évalué à  3 .

        Mais non, un chion ;)

      • [^] # Re: Cochon-chien

        Posté par . Évalué à  2 .

        comme Richard Cochien ?

        • [^] # Re: Cochon-chien

          Posté par . Évalué à  4 .

          Ah non tu triches, c'est Cocciante, rien à voir :)

          Par contre on a bien un Chion, disciple de Platon, chef d'un commando-suicide qui assassina en 353 av. J.-C. Cléarque, tyran d'Héraclée Pontique répondant à l'appel.

    • [^] # Re: Cochon-chien

      Posté par (page perso) . Évalué à  1 .

      c'est pas plutôt chien suceur de cochon ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.