Zamceni adresare
Jan Kasprzak
kas na fi.muni.cz
Pátek Prosinec 4 09:40:58 CET 2009
Jan Kasprzak wrote:
: $ strace perl -MFcntl=:flock -e 'opendir my $fh, "."; flock $fh, LOCK_EX'
: [...]
: open(".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3
: fstat(3, {st_mode=S_IFDIR|S_ISGID|0775, st_size=4096, ...}) = 0
: fcntl(3, F_GETFD) = 0x1 (flags FD_CLOEXEC)
: close(3) = 0
: exit_group(0) = ?
:
: Co delam spatne?
Hmm, to co vraci opendir() asi neni bezny filehandle
a nevim jak z neho ten filehandle udelat (ani treba fileno() na to
nezabira). Pokud adresar otevru pres sysopen (ani nepotrebuju O_DIRECTORY),
tak to funguje:
$ strace perl -MFcntl=:flock -e 'sysopen my $fh, ".", O_RDONLY; flock $fh, LOCK_EX'
[...]
open(".", O_RDONLY) = 3
ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fffe3cf9e80) = -1 ENOTTY (Inappropriate ioctl for device)
lseek(3, 0, SEEK_CUR) = 0
fstat(3, {st_mode=S_IFDIR|0711, st_size=20480, ...}) = 0
fcntl(3, F_SETFD, FD_CLOEXEC) = 0
flock(3, LOCK_EX) = 0
close(3) = 0
exit_group(0) = ?
(BTW, znate program flock(1)? Docela pekne, a v util-linux-ng-2.16
umi zamykat i adresare.)
-Y.
--
| Jan "Yenya" Kasprzak <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839 Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/ Journal: http://www.fi.muni.cz/~kas/blog/ |
Please don't top post and in particular don't attach entire digests to your
mail or we'll all soon be using bittorrent to read the list. --Alan Cox
Další informace o konferenci Perl