--------------------- Changements dans la version 2.80.0 ---------------------

Date de publication : 06/06/2008

    « La recherche d'une cohérence imbécile est la marotte des petits esprits,
      révérée par les petits hommes d'états, philosophes et hommes de dieu. »

         Ralph Waldo Emerson (1803-1882)

    « Mais, bon sang, quelle pagaille ces pages de manuel ! »


Ont contribués à cette révision :
---------------------------------

  Christophe Blaess <Christophe AT blaess DOT fr>


Changements globaux :
---------------------

  bdflush.2, mprotect.2, sigprocmask.2, getusershell.3, setbuf.3, st.4,
  ip.7, packet.7
    Remplacé « (il)légal » par « (non) permis » ou « (non) valide ».

  madvise.2, mbind.2, mincore.2, mmap.2, mmap2.2, msync.2, remap_file_pages.2
    Modifié le nom de l'argument « start » en « addr » pour cohérence avec :
    - les autres interfaces relatives à la mémoire
    - les spécifications POSIX (pour les interfaces qui sont dans POSIX)
    - le code source Linux et glibc (dans au moins plusieurs cas).

  mknod.2, ftw.3
    s/fichier normal/fichier régulier/

  epoll_ctl.2, getitimer.2, getrlimit.2, unix.7
    s/depuis le noyau x.y.z/depuis Linux s.y.z/

  wait.2, inotify.7
    Reformatage de l'information de version du noyau pour les attributs.

  Diverses pages
    Correction de la licence de la page en vue d'uniformisation.


  Des erreurs typographiques et grammaticales ont été corrigées en divers
  endroits.


Nouvelles pages :
-----------------

  random_r.3
    Documentation des fonctions random_r(3), srandom_r(3), initstate_r(3)
    et setstate_r(3) qui sont les équivalents réentrants des fonctions
    random(3), srandom(3), initstate(3) et setstate(3).


Nouveaux liens :
----------------

  lutimes.3
    Lien vers futimes.3.

  initstate_r.3, setstate_r.3, srandom_r.3
    Liens vers la nouvelle page random_r.3.


Pages modifiées individuellement :
----------------------------------

  clone.2
    Ajout d'une note indiquant que CLONE_STOPPED (que personne n'a jamais
    utilisé) est à présent déconseillé.

  epoll_create.2
    Ajout d'une NOTES indiquant quer l'argument « size » n'est plus utilisé
    depuis le noyau 2.6.8.

  epoll_ctl.2
    Ajout d'une note de portabilité concernant EPOLL_CTL_DEL
    dans la section BOGUES.

  epoll_wait.2
    Si « sigmask » est NULL, epoll_pwait() est équivalent à epoll_wait().

  futex.2
    FUTEX_FD a été supprimé dans le noyau 2.6.26


  fork.2
    NOTES : depuis la glibc 2.3.3, l'enveloppe fork() NPTL de la glibc
    contourne l'appel système fork() pour invoquer clone() avec
    les attributs qui fournissent une fonctionnalité équivalente.

  futimesat.2
    Noté que cet appel système est devenu obsolète au profit de utimensat(2).

  getpriority.2
    Ajout de texte dans NOTES sur l'effet de « punch » des valeurs de
    courtoisie dans les noyaux 2.6.23 et suivants.
    Ajout de « Documentation/scheduler/sched-nice-design.txt »
    dans VOIR AUSSI.

  getgroups.2
    Reformatage des sections DESCRIPTION et VALEUR RENVOYÉE pour être
    plus conforme au style des pages de manuel.
    Ajout de détails dans la description des appels système.
    Clarifié ce qu'il arrive si l'appelant de getgroups() est un membre
    de plus de « size » groupes supplémentaires.
    Ajout de l'ERREUR ENOMEM.
    Noté que NGROUPS_MAX a été augmenté dans le noyau 2.6.4.
    Ajout dans VOIR AUSSI d'une référence à getgrouplist(3).
    Ajout dans VOIR AUSSI d'une référence à credentials(7).

  gettid.2
    Ajout d'une section VERSIONS indiquant l'introduction de cet appel
    système dans la version 2.4.11 du noyau.

  kill.2
    Ajout de texte indiquant explicitement que sig==0 peut être utilisé
    pour vérifier l'existence d'un PID ou d'un PGID.

  mbind.2
    L'endroit où on peut trouver le paquet numactl a changé.

  mkdir.2
    Ajout dans VOIR AUSSI d'une référence à chown.2.

  mknod.2
    Ajout dans VOIR AUSSI d'une référence à chmod.2 et chown.2.

  mmap.2
    Ajout de titres .SS pour améliorer la structure de la page.
    MAP_POPULATE prend en charge les projections de fichiers et les
    projections anonymes.
    Depuis 2.6.23, MAP_POPULATE prend en charge les projections privées.
    Depuis 2.6.23, MAP_NONBLOCK rend MAP_POPULATE inactif.
    NOTES : ajout de détails sur l'adresse projetée choisie par le noyau
    lorsque MAP_FIXED et ou n'est pas indiqué.

  mount.2
    Les modifications de MS_REMOUNT dans la version 2.4 étaient en fait
    dans la version 2.4.10.

  msgctl.2
    Clarifié que les champs « inutilisés » de la structure msginfo
    sont « inutilisé dans le noyau ».

  msgop.2
    Quelques restructurations pour plus de clarté.
    Suppression de « msgop » de la section NOM.

  open.2
    Noté que O_CLOEXEC devrait être présent dans la prochaine révision
    de POSIX.1.
    Ajout dans VOIR AUSSI d'une référence à chmod.2 et chown.2.

  poll.2
    Si « sigmask » est NULL, ppoll() est équivalent à poll() concernant
    les manipulations de masque de signal.

  posix_fadvise.2
    s/posix_madvise (2)/posix_madvise (3)/
    La page n'existe pas encore mais devrait être rédigée bientôt.

  ptrace.2
    PTRACE_PEEKUSER : les décalages et données renvoyées peuvent ne pas
    correspondre à la définition de la strcuture « user».
    Voir également http://lkml.org/lkml/2008/5/8/375

  recv.2
    Amélioration de la formulation de l'erreur EAGAIN dans la discussion
    sur MSG_DONTWAIT.

  rmdir.2
    POSIX.1 permet également EEXIST pour l'erreur ENOTEMPTY.

  sched_setscheduler.2
    Ajout de la description de la politique SCHED_IDLE.
    Amélioration de la description de SCHED_BATCH.

  semctl.2
    Clarifié que les champs « inutilisé » de la structure seminfo
    sont « inutilisé dans le noyau ».

  semop.2
    Petite correction dans l'exemple.

  setpgid.2
    Clarification de la discussion sur setpgid().

  shmctl.2
    Clarifié que les champs « inutilisé » de la structure shminfo
    sont « inutilisé dans le noyau ».

  shmop.2
    Suppression de « shmop » dans la section NOM.

  signalfd.2
    Ajout d'une section BOGUES indiquant qu'avant le noyau 2.6.25, les champs
    ssi_int et ssi_ptr n'étaient pas renseignés.
    Ajout de commentaires décrivant les champs de la structure
    signalfd_siginfo.
    Mise à jour des noms de champs dans le programme EXEMPLE
    (s/signo/ssi_signo/).
    Édition mineure de la définition de la structure.

  sigqueue.2
    Ajout de commentaire dans le code de NOTES.

  stat.2
    Modification de formulation mineure.

  symlink.2
    Ajout dans VOIR AUSSI d'une référence à lchown.2.

  sync_file_range.2
    Supprimé l'indication que (SYNC_FILE_RANGE_WAIT_BEFORE |
    SYNC_FILE_RANGE_WRITE | SYNC_FILE_RANGE_WAIT_AFTER) est
    une opération fdatasync(2) traditionnelle.
    Voir https://bugzilla.mozilla.org/show_bug.cgi?id=421482
    commentaires 129 à 131.

  syscalls.2
    Cette page est à présent à jour du noyau 2.6.25.

  syslog.2
    Petite reformulation concernant les permissions/capacités.

  timerfd_create.2
    Modification mineure dans l'EXEMPLE.

  utime.2
    Suppression du sous-titre inutile pour utimes().
    utimes() est conforme à POSIX.1-2001.
    Renommé l'argument « buf » de utimes() en « times ».
    Clarification des explications des erreurs EACCES et EPERM.
    Suppression de la section BOGUES car elle ne semble pas donner
    d'information supplémentaire.
    Clarification de la discussion sur les capacités et noté que
    CAP_DAC_OVVERIDE a également son rôle.

  wait.2
    Ajout d'une phrase clarifiant que même si la disposition par défaut
    de SIGCHLD est « ignore », la configuration explicite de la disposition
    de SIG_IGN entraîne un traitement différent des zombies.

  aio_cancel.3, aio_error.3, aio_fsync.3, aio_read.3, aio_return.3,
  aio_suspend.3, aio_write.3
    Ajout de « Liez avec -lrt» dans le SYNOPSIS.

  backtrace.3
    s/backtrace_symbols/backtrace-symbols_fd/ dans une phrase.
    Correction d'une référence boguée à la variable « strings »: devait être
    « le tableau de pointeurs ».

  ctime.3
    Ajout d'un avertissement dans NOTES que asctime(), ctime(), gmtime() et
    localtime() peuvent chacune écraser l'objet statique renvoyé par
    n'importe quelle autre fonction.

  dlopen.3
    Détaillé la description des champs de la structure renvoyée par dladdr().

  fexecve.3
    Correction du SYNOPSIS : le fichier d'entête nécessaire est <unistd.h>,
    pas <sys/time.h> !

  futimes.3
    Ajout de la documentation de lutimes() introduite dans la glibc 2.6.
    Modification de la description dans la section NOM : ces fonctions
    modifient toujours les DEUX horodatages.
    CONFORMITÉ : futimes() ne venait pas de BSD 4.2. (Elle venait de FreeBSD,
    voir la page de manuel FreeBSD.)

  getenv.3
    Noté que l'appelant ne doit pas modifier la chaîne renvoyée.
    Noté que getenv() n'est pas réentrante : le tampon peut être alloué
    statiquement et écrasé par des appels ultérieurs à getenv(), putenv(),
    setenv() ou unsetenv().

  getgrent.3
    Ajout de getgrouplist(3) à VOIR AUSSI.

  gethostbyname.3
    Ajout de « h_errno » à la section NOM.

  getopt.3
    Ajout de « optarg », « optind », « opterr » et « optopt »
    à la section NOM.
    Ajout d'un sous-titre pour la description de getopt_long() et
    getopt_long_only().

  getpt.3
    Noté que cette fonction devrait être évitée en faveur de posix_openpt().
    Ajout d'une section ERREURS faisant référence à open(2).

  getsubopt.3
    Correction de la déclaration de « valuep ».
    Voir http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=476672.

  malloc.3
    Noté dans VALEUR RENVOYÉE les circonstances dans lesquelles un appel
    réussi à malloc() et calloc() peut renvoyer NULL.

  mq_open.3
    Noté que <fcntl.h> est nécessaire pour les constantes O_* et
    <sys/stat.h> est nécessaire pour les constantes « mode ».

  opendir.3
    Description du traitement de l'attribut « close-on-exec » par opendir()
    et fdopendir().

  openpty.3
    Ajout de ttyname(3) dans VOIR AUSSI.

  raise.3
    Clarifié la sémantique de raise() lorsque elle est appelée dans un
    programme multithreadé.
    Voir http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=476484.
    Réécriture et ajouts de diverses partie de la page.

  rand.3
    Suppression de l'avertissement obsolète dans NOTES ; on encourage
    l'utilisation de random(3) à la place.
    Clarification de la formulation décrivant l'intervalle de valeurs
    renvoyées par rand().

  random.3
    Recommandé l'utilisation de random_r(3) pour les applications
    multithreadées qui ont besoin de séquences indépendantes et reproductibles
    de nombres aléatoires.
    Déplacement des références à « The Art of Computer Programming » et
    « Numerical Recipes » de la page rand(3) dans cette page.
    Ajout de drand48(3) dans VOIR AUSSI.

  regex.3
    Clarification de la description du champ « rm_eo ».

  sem_open.3
    Noté que <fcntl.h> est nécessaire pour les constantes O_* et
    <sys/stat.h> est nécessaire pour les constantes « mode ».

  sem_post.3
    Ajout d'un renvoi vers l'exemple de sem_wait(3).

  sem_close.3, sem_destroy.3, sem_getvalue.3, sem_init.3, sem_open.3,
  sem_post.3, sem_unlink.3, sem_wait.3
    Ajout de « Liez avec -lrt ou -pthread » dans le SYNOPSIS.

  setenv.3
    setenv() crée une copie de « name » et « value » contrairement à putenv().
    unsetenv() d'une variable inexistante ne fait rien et est considérée comme
    ayant réussie.
    Noté que setenv() et unsetenv() n'ont pas besoin d'être réentrantes.

  shm_open.3
    Noté que <fcntl.h> est nécessaire pour les constantes O_* et
    <sys/stat.h> est nécessaire pour les constantes « mode ».

  undocumented.3
    initstate_r(3), setkey_r(3) et setstate_r(3) sont à présent documentées.

  utmp.5
    Petite reformulation.

  credentials.7
    NOTES : les threads POSIX nécessitent que tous les threads partagent
    les mêmes UID et GID. Mais le noyau Linux maintient des UID et GID séparés
    pour chaque thread. NPTL efectue un certain travail pour s'assurer que
    les modifications d'identifiants effectuées par n'importe quel thread
    soient propagées vers tous les threads POSIX du processus.
    sysconf(_SC_NGROUPS_MAX) peut être utilisé pour déterminer le nombre
    de groupes supplémentaires auxquels un processus peut appartenir.
    Clarifié que les GID supplémentaires sont indiqués par POSIX.1-2001.

  epoll.7
    Pour la réponse A2, remplacé « n'est pas recommandé » en
    « une programmation soignée est nécessaire ».

  inotify.7
    Documenté la fonctionnalité SIGIO (nouvelle dans 2.6.25) pour les
    descripteurs de fichiers inotify.
    Noté que select()/poll()/epoll_wait() indique qu'un descripteur de fichiers
    inotify prêt est accessible en lecture.
    Documenté IN_ATTRIB un peu plus en détail.

  pthreads.7
    Correction typographique dans le script.
    Ajout d'une liste de fonctions sûres du point de vue des threads.

  standards.7
    Ajout d'une section concernant la révision POSIX à venir.

  ld.so.8
    Diverses reformulations.
