--- loncom/lonnet/perl/lonnet.pm 2007/10/01 21:52:57 1.916 +++ loncom/lonnet/perl/lonnet.pm 2007/10/01 23:53:44 1.917 @@ -1,7 +1,7 @@ # The LearningOnline Network # TCP networking package # -# $Id: lonnet.pm,v 1.916 2007/10/01 21:52:57 albertel Exp $ +# $Id: lonnet.pm,v 1.917 2007/10/01 23:53:44 albertel Exp $ # # Copyright Michigan State University Board of Trustees # @@ -320,8 +320,8 @@ sub convert_and_load_session_env { my ($lonidsdir,$handle)=@_; my @profile; { - open(my $idf,'+<',"$lonidsdir/$handle.id"); - if (!$idf) { + my $opened = open(my $idf,'+<',"$lonidsdir/$handle.id"); + if (!$opened) { return 0; } flock($idf,LOCK_SH); @@ -362,8 +362,8 @@ sub transfer_profile_to_env { my $convert; { - open(my $idf,'+<',"$lonidsdir/$handle.id"); - if (!$idf) { + my $opened = open(my $idf,'+<',"$lonidsdir/$handle.id"); + if (!$opened) { return; } flock($idf,LOCK_SH); @@ -408,8 +408,8 @@ sub check_for_valid_session { my $lonidsdir=$r->dir_config('lonIDsDir'); return undef if (!-e "$lonidsdir/$handle.id"); - open(my $idf,'+<',"$lonidsdir/$handle.id"); - return undef if (!$idf); + my $opened = open(my $idf,'+<',"$lonidsdir/$handle.id"); + return undef if (!$opened); flock($idf,LOCK_SH); my %disk_env; @@ -459,8 +459,8 @@ sub appenv { $env{$key}=$newenv{$key}; } } - open(my $env_file,'+<',$env{'user.environment'}); - if ($env_file + my $opened = open(my $env_file,'+<',$env{'user.environment'}); + if ($opened && &timed_flock($env_file,LOCK_EX) && tie(my %disk_env,'GDBM_File',$env{'user.environment'}, @@ -481,8 +481,8 @@ sub delenv { "Attempt to delete from environment ".$delthis); return 'error'; } - open(my $env_file,'+<',$env{'user.environment'}); - if ($env_file + my $opened = open(my $env_file,'+<',$env{'user.environment'}); + if ($opened && &timed_flock($env_file,LOCK_EX) && tie(my %disk_env,'GDBM_File',$env{'user.environment'},