home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 June / PCWorld_2005-06_cd.bin / software / vyzkuste / firewally / firewally.exe / framework-2.3.exe / Event.pm < prev    next >
Text File  |  2002-07-08  |  3KB  |  104 lines

  1. #---------------------------------------------------------------------
  2. package Win32::Event;
  3. #
  4. # Copyright 1998 Christopher J. Madsen
  5. #
  6. # Author: Christopher J. Madsen <chris_madsen@geocities.com>
  7. # Created: 3 Feb 1998 from the ActiveWare version
  8. # Version: 1.00 (6-Feb-1998)
  9. #
  10. # This program is free software; you can redistribute it and/or modify
  11. # it under the same terms as Perl itself.
  12. #
  13. # This program is distributed in the hope that it will be useful,
  14. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  15. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See either the
  16. # GNU General Public License or the Artistic License for more details.
  17. #
  18. # Use Win32 event objects for synchronization
  19. #---------------------------------------------------------------------
  20.  
  21. $VERSION = '1.01';
  22.  
  23. use Win32::IPC 1.00 '/./';      # Import everything
  24. require Exporter;
  25. require DynaLoader;
  26.  
  27. @ISA = qw(Exporter DynaLoader Win32::IPC);
  28. @EXPORT_OK = qw(
  29.   wait_all wait_any INFINITE
  30. );
  31.  
  32. bootstrap Win32::Event;
  33.  
  34. 1;
  35. __END__
  36.  
  37. =head1 NAME
  38.  
  39. Win32::Event - Use Win32 event objects from Perl
  40.  
  41. =head1 SYNOPSIS
  42.  
  43.     use Win32::Event;
  44.  
  45.     $event = Win32::Event->new($manual,$initial,$name);
  46.     $event->wait();
  47.  
  48. =head1 DESCRIPTION
  49.  
  50. This module allows access to the Win32 event objects.  The C<wait>
  51. method and C<wait_all> & C<wait_any> functions are inherited from the
  52. L<"Win32::IPC"> module.
  53.  
  54. =head2 Methods
  55.  
  56. =over 4
  57.  
  58. =item $event = Win32::Event->new([$manual, [$initial, [$name]]])
  59.  
  60. Constructor for a new event object.  If C<$manual> is true, you must
  61. manually reset the event after it is signalled (the default is false).
  62. If C<$initial> is true, the initial state of the object is signalled
  63. (default false).  If C<$name> is omitted, creates an unnamed event
  64. object.
  65.  
  66. If C<$name> signifies an existing event object, then C<$manual> and
  67. C<$initial> are ignored and the object is opened.
  68.  
  69. =item $event = Win32::Event->open($name)
  70.  
  71. Constructor for opening an existing event object.
  72.  
  73. =item $event->pulse
  74.  
  75. Signal the C<$event> and then immediately reset it.  If C<$event> is a
  76. manual-reset event, releases all threads currently blocking on it.  If
  77. it's an auto-reset event, releases just one thread.
  78.  
  79. If no threads are waiting, just resets the event.
  80.  
  81. =item $event->reset
  82.  
  83. Reset the C<$event> to nonsignalled.
  84.  
  85. =item $event->set
  86.  
  87. Set the C<$event> to signalled.
  88.  
  89. =item $event->wait([$timeout])
  90.  
  91. Wait for C<$event> to be signalled.  See L<"Win32::IPC">.
  92.  
  93. =back
  94.  
  95. =head1 AUTHOR
  96.  
  97. Christopher J. Madsen E<lt>F<chris_madsen@geocities.com>E<gt>
  98.  
  99. =cut
  100.  
  101. # Local Variables:
  102. # tmtrack-file-task: "Win32::Event"
  103. # End:
  104.