Mercurial > mplayer.hg
view TOOLS/perlbench.pl @ 8575:1d15ca298dda
Fix DVD authentication on Solaris 9.
Solaris 9 does not allow USCSICMD ioctls for non-root users on vold devices
any more; they are failing with an EPERM "permission denied" error. Now, only
root is allowed to run USCSICMD ioctls on vold devices.
Fortunatelly there's a new subroutine exported from libsmedia.so
(smedia_uscsi_cmd) which allows non-root users to perform user mode SCSI
commands on a vold device. (This works with a help of a daemon running as
user root, /usr/lib/smedia/rpc.smserverd)
This change detects the presence of function "smedia_uscsi_cmd" in library
libsmedia.so at runtime, and uses this function if it's found (i.e. on
solaris 9 smedia_uscsi_cmd() is used to execture user mode scsi commands).
On solaris 8 or older, "smedia_uscsi_cmd" is not available and the code
falls back to the old ioctl(.. USCSICMD ..) method.
author | jkeil |
---|---|
date | Fri, 27 Dec 2002 16:29:11 +0000 |
parents | 5cbbf47cae1e |
children |
line wrap: on
line source
#!/usr/bin/perl -w use strict; use constant CMD => "./fastmem2-k7"; sub dobench { my $i; my ($runs, $sleep, $command) = @_; for($i = 0; $i < $runs; $i++) { sleep $sleep; system $command; } } print "Single run of sse bench with 1sec sleep:\n"; &dobench(1,1,CMD); print "Sleeping 10seconds before starting next bench!\n"; sleep 10; print "10 runs of sse bench with 0sec sleep:\n"; &dobench(10,0,CMD); print "Sleeping 10seconds before starting next bench!\n"; sleep 10; print "10 runs of sse bench with 1sec sleep:\n"; &dobench(10,1,CMD); print "Sleeping 10seconds before starting next bench!\n"; sleep 10; print "10 runs of sse bench with 2sec sleep:\n"; &dobench(10,2,CMD); print "Sleeping 10seconds before starting next bench!\n"; sleep 10; print "10 runs of sse bench with 3sec sleep:\n"; &dobench(10,3,CMD); print "Bench finished!\n";