Accueil        Lexique        UNITéS        Algorithmes        Tutoriel        Groupe Facebook   

Les unités de Pure Pascal (langage Pascal pour les ordinateurs de la gamme Atari ST), compatible Turbo Pascal.

Unité TOS : Fonction Pwaitpid

Cette page a été ajoutée au document HLP Atari d'Origine, car manquante

Fonction Gemdos 314

Déclaration

function Pwaitpid( pid, flag : Integer; var rusage : LARRAY_2 ) : LongInt;

Description

La fonction Pwaitpid tente d'obtenir le code de sortie des processus enfants stoppés ou terminés. Si le bit 1 du paramètre flag est défini, les processus enfants actuellement stoppés seront signalés ; si cette option est désactivée, les processus enfants nouvellement terminés ou arrêtés par le traçage seront signalés.

En règle générale, un processus stoppé n'est signalé qu'une seule fois (tant qu'il n'a pas été redémarré puis arrêté à nouveau). De même, un processus terminé n'est signalé qu'une seule fois.

Si des processus enfants sont présents et n'ont été ni stoppés, ni terminés (ou sont en attente d'un tel événement), le comportement ultérieur de la fonction est déterminé par le bit 0 du paramètre flag. Les règles suivantes s'appliquent ici :

  • Bit-0 = 0: Attend jusqu'à ce que l'enfant soit stoppé ou terminé
  • Bit-0 = 1: Return immediately
Le paramètre pid permet de spécifier plus précisément les enfants dont les codes de sortie sont pertinents :
pidSignification
-1Demande l'état de tous les enfants
>0pid est l'ID du processus enfant dont l'état doit être déterminé
=0Demande l'état de tous les enfants dont l'ID de groupe est identique à celui du processus appelant
<>-1Demande l'état de tous les enfants dont l'ID de groupe correspond à la valeur absolue de pid

Le paramètre rusage (de type LARRAY_2, un tableau de 2 entiers LONG) permet de prendre en compte l'utilisation du temps CPU de l'enfant :

  • rusage[0] : Temps passé dans l'espace utilisateur (ms)
  • rusage[1] : Temps passé dans l'espace noyau (ms)
Avertissement : Dans MagiC, seuls les processus enfants terminés sont reconnus, mais pas encore les processus enfants stoppés. De plus, seules les valeurs NULL sont actuellement renvoyées dans le paramètre rusage.

Les groupes de processus ne sont pas non plus correctement pris en charge actuellement, car la fonction Psetpgrp est absente.

Résultat

La fonction peut retourner les valeur suivantes
  • > 0 : État de sortie et PID de l'enfant respectivement dans les 16 bits inférieur et supérieur d'un code de retour de 32 bits. Si le processus a été arrêté ou terminé par un signal portant le numéro n, son état de sortie sera 256*n+x, où :
    • x = 127 si le processus a été arrêté
    • x = 0 si le processus a été terminé
  • 0 : Aucun processus enfant n'est terminé.
  • -33 (EFILNF) : Aucun processus enfant n'existe
L'appel est sans effet si aucun signal n'est traité.

Remarque : Cette fonction est uniquement disponible sous les système d'exploitation multitâche MinT (à partir de 0.96) et MagiC (à partir de 5.04).

Références croisées Pwait Pwait3


Vous trouverez dans cette zone la liste de toutes les Unités (équivalent des "Librairies" en C) de Pure Pascal. Les Unités indiqués comme standards existent dans la majorité des compilateurs Pascal existant sur ordinateurs 16 bits et au dela (dont Turbo Pascal 3 mini). Les unités indiqués comme Atari sont spécifiques aux systèmes d'exploitation des Atari ST (TOS n.n).

Accès aux unités

Les menus déroulants de chaque unité sont des accès directs aux procédures et fonctions, classés alphabétiquement (sans tenir compte de la casse, puisque le langage Pascal ne tient pas compte de la casse!)
CRT (Standard)

DOS (Standard)

GEM : AES (Atari)

GEM : VDI (Atari)

Graph (Standard)

Overlay (Standard)

Printer Strings (Standard)

System (Standard)

TOS : BIOS (Atari)

TOS : GEMDOS (Atari)

TOS : XBIOS (Atari)

Cette page Unités est issu du fichier UNIT.HLP de la documentation de Pure Pascal (d'Application Systems Heidelberg), qui a été convertie en format TXT puis traduite de l'Allemand grâce à Google Translator : des milliers de copier/coller de et vers Google translator ont été nécessaires, ne connaissant pas un mot d'Allemand!

Les unités CRT, DOS, Graph, Overlay, Printer et System sont standard à TOUS les compilateurs Pascal compatible avec Turbo Pascal 5. L'unité String a été introduit avec Turbo Pascal 7 (Et Pure Pascal 1.1) et permet de manipuler les chaines de caractères de type langage C. Les Unités GEM (VDI et AES) et TOS (BIOS, GEMDOS et XBIOS) sont spécifiques au système Atari ST et contiennent parfois des fonctions équivalentes à certaines fonctions des Unités générales (notamment BIOS). Les fonction XBIOS sont des fonctions permettant de tirer pleinement partie du matériel spécifique Atari, notamment Falcon (Audio, DSP, Blitter, Résolutions étendues etc)


Copyright © 2021 par Albatros Concept (Bruno Aubin)