
=head1 NOM

Win32::IPC - Classe de base pour les objets de synchronisation Win32

=head1 SYNOPSIS

    use Win32::Event 1.00 qw(wait_any);
    #Création d'objets.

    wait_any(@ListOfObjects,$timeout);

=head1 DESCRIPTION

Ce module est chargé par les autres modules de synchronisation Win32.
Vous ne devriez pas avoir besoin de le charger vous-même.  Il fournit
les fonctions "wait" pour ces modules.

Les modules de synchronisation sont
B<Win32::ChangeNotify> (voir L<Win32::ChangeNotify>),
B<Win32::Event> (voir L<Win32::Event>),
B<Win32::Mutex> (voir L<Win32::Mutex>),
et B<Win32::Semaphore> (voir L<Win32::Semaphore>).

=head2 Méthodes

B<Win32::IPC> fournit une seule méthode pour tous les objets de synchronisation.

=over 4

=item $obj->wait([$timeout])

Attend que C<$obj> soit signalé.  C<$timeout> est le temps maximal
d'attente (en millisecondes). Si C<$timeout> est omis, la fonction
attend indéfiniment. Si C<$timeout> vaut 0, elle retourne immédiatement.

Valeurs retournées :

   +1    L'objet est signalé
   -1    L'objet est un mutex abandonné
    0    Délai dépassé
  undef  Une erreur est apparue

=back

=head2 Fonctions

=over 4

=item wait_any(@objects, [$timeout])

attend que l'un au moins des C<@objects> soit signalé.
C<$timeout> est le délai maximum d'attente (en millisecondes).
Si C<$timeout> est omis, la fonction attend indéfiniment.
Si C<$timeout> vaut 0, elle retourne immédiatement.

La valeur de retour indique quel objet a interrompu l'attente :

   +N    $object[N-1] est signalé
   -N    $object[N-1] est un mutex abandonné
    0    Délai dépassé
  undef  Une erreur est apparue

Si plus d'un objet a été signalé, celui de plus petit indice
est utilisé.

=item wait_all(@objects, [$timeout])

Identique à C<wait_any>, mais attend que tous les C<@objects> soient
signalés. La valeur de retour indique le dernier objet à avoir été
signalé, et est négative si l'un au moins des C<@objects> est un
mutex abandonné.

=back

=head2 Fonctions et Méthodes dépréciées

B<Win32::IPC> accepte encore la syntaxe ActiveWare, mais son usage est désapprouvé.

=over 4

=item INFINITE

Valeur constante pour un délai infini. Omettre l'argument C<$timeout>
à la place.

=item WaitForMultipleObjects(\@objects, $wait_all, $timeout)

Attention : C<WaitForMultipleObjects> efface C<@objects> !
Utilisez C<wait_all> ou C<wait_any> à la place.

=item $obj->Wait($timeout)

Similaire à C<not $obj-E<gt>wait($timeout)>.

=back

=head1 AUTEUR

Christopher J. Madsen E<lt>F<chris_madsen@geocities.com>E<gt>

Vaguement basé sur le module original d'ActiveWare Internet Corp.,
F<http://www.ActiveWare.com>

=head1 VERSION FRANÇAISE

Cette traduction française correspond à la version anglaise distribuée avec perl 5.6.1.
Pour en savoir plus concernant ces traductions, consultez http://www.enstimac.fr/Perl/ .

=head1 TRADUCTION EN FRANÇAIS

Jean-Louis Morel <jl_morel@bribes.org>

=cut

