Private
Server IP : 195.201.23.43  /  Your IP : 13.58.214.82
Web Server : Apache
System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64
User : kdecoratie ( 1041)
PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/doc/libipc-shareable-perl/examples/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME SHELL ]     

Current File : /usr/share/doc/libipc-shareable-perl/examples/hvtest1
#!/usr/bin/perl -w
#
# Test of shared hashes courtesy Joe Thomas <jthomas@women.com>
use strict;
use IPC::Shareable;

use vars qw($counter %hash);
tie %hash, 'IPC::Shareable', undef, {create => 'yes', destroy => 'yes'};
tie $counter, 'IPC::Shareable', undef, {create => 'yes', destroy => 'yes'};

$| = 1;

for (my $i = 0; $i < 3; $i++) {
 sleep 1;
 next if fork();
 hashcount(3, 3);
 exit;
}

while (1) {
 last if wait() == -1;
}

sub hashcount {
 my ($loops, $sleeptime) = @_;
 for (my $i = 0; $i < $loops; $i++) {
  (tied $counter)->shlock;
  (tied %hash)->shlock;
  $hash{++$counter} = $$;

  print "Process $$ sees:\n";
  for my $key (sort keys %hash) {
   print "\$hash{$key} = $hash{$key}\n";
  }
  (tied %hash)->shunlock;
  (tied $counter)->shunlock;
  sleep $sleeptime;
 }
}

exit;

__END__
Private