Google
    
<< TOPページ 掲示板TOP 記事データ お知らせメール ▼レス(3) >>

Perl : 二重に Flock 2 したときの動作の違い

 ( メビウスリング日記 )
- アクセス(103) - いいね!(0)

あうら☆マスター ★管理者

単純なスクリプトです。

Windows / Active Perl (ローカル環境)で実行したところ、2回目の flock をした時点でプログラムが”固まり”ました。
自プロセスの flock でも排他処理を実行するようです。

Linuxサーバーだと、同一プロセスでの二重 flock で固まるということはありませんでした。
(別プロセスで flock を実行すると、もちろん正常に働きます - ブロックされます - )

──────────────────────────────

my $FILE;
my $log_file = "./data.log"; # あらかじめこの名前のファイルを作成しておく

# ファイルを開く
open($FILE,"+<",$log_file) && print "open! \n";

if(flock($FILE,2)){ print "flocked\n"; } # ファイルロック1
if(flock($FILE,2)){ print "flocked\n"; } # ファイルロック2 → 「ファイルロック1」が既に排他処理をしているため、環境によっては実行できない

close($FILE);


──────────────────────────────

5年前 No.0
関連リンク: 掲示板の増設、統合希望 
ページ: 1


 
 

ブルーマニア@aotomizu ★AU=TFfSDwKh1C

お疲れ様です!

メビアドの仕様ですが、最初は戸惑ったけど僕はもう大丈夫です!
5000億の棒も頑張っていつか絶対買ってやります(笑)。

毎日いろいろお疲れ様です!

お忙しい中の更新、本当にありがとうございました。
これからもふぁいとです!

5年前 No.1

た〜た〜@マッハガオガモン@nintendo64 ★3DS=npGLuglpj6

うきゃ〜〜〜!
何がなんだか分からんちww
でもまぁ、 >>1 でメビアドの事というのはわかったからいっか^^;

とにかく、ご苦労様です!v(*^∀^*)v

5年前 No.2

破壊亜@hakaia ★PSP=dCNazEvglr

本当に大変そうですね
頑張ってくださいね

5年前 No.3
ページ: 1

 
 
<< TOPページ 掲示板TOP 記事データ お知らせメール ▲ページ上 >>
★必ず ローカルルールメビウスリングのルール をご覧ください。
 ▼スタンプ▲スタンプ
※スタンプはいちどに 3個 まで使えます  ×閉じる