s/YYLEX_PARAM/YYLEXPARAM/
[p5sagit/p5-mst-13.2.git] / ext / IPC / SysV / t / sem.t
CommitLineData
0ade1984 1
2use IPC::SysV qw(
3 SETALL
4 IPC_PRIVATE
5 IPC_CREAT
6 IPC_RMID
7 IPC_NOWAIT
8 IPC_STAT
9 S_IRWXU
10 S_IRWXG
11 S_IRWXO
12);
13use IPC::Semaphore;
14
15print "1..10\n";
16
17$sem = new IPC::Semaphore(IPC_PRIVATE, 10, S_IRWXU | S_IRWXG | S_IRWXO | IPC_CREAT)
18 || die "semget: ",$!+0," $!\n";
19
20print "ok 1\n";
21
22my $st = $sem->stat || print "not ";
23print "ok 2\n";
24
25$sem->setall( (0) x 10) || print "not ";
26print "ok 3\n";
27
28my @sem = $sem->getall;
29print "not " unless join("",@sem) eq "0000000000";
30print "ok 4\n";
31
32$sem[2] = 1;
33$sem->setall( @sem ) || print "not ";
34print "ok 5\n";
35
36@sem = $sem->getall;
37print "not " unless join("",@sem) eq "0010000000";
38print "ok 6\n";
39
40my $ncnt = $sem->getncnt(0);
41print "not " if $sem->getncnt(0) || !defined($ncnt);
42print "ok 7\n";
43
44$sem->op(2,-1,IPC_NOWAIT) || print "not ";
45print "ok 8\n";
46
47print "not " if $sem->getncnt(0);
48print "ok 9\n";
49
50$sem->remove || print "not ";
51print "ok 10\n";