OXIESEC PANEL
- Current Dir:
/
/
usr
/
lib
/
x86_64-linux-gnu
/
perl5
/
5.26
/
File
/
FcntlLock
Server IP: 139.59.38.164
Upload:
Create Dir:
Name
Size
Modified
Perms
📁
..
-
01/31/2023 12:38:17 PM
rwxr-xr-x
📄
Core.pm
3.29 KB
07/31/2014 08:10:21 PM
rw-r--r--
📄
Errors.pm
4.03 KB
05/27/2014 01:25:15 PM
rw-r--r--
📄
Inline.pm
7.32 KB
07/26/2017 08:06:15 PM
rw-r--r--
📄
Inline.pod
10.47 KB
05/27/2014 02:26:08 PM
rw-r--r--
📄
Pure.pm
2.21 KB
07/26/2017 08:06:15 PM
rw-r--r--
📄
Pure.pod
10.47 KB
05/27/2014 02:26:08 PM
rw-r--r--
📄
XS.pm
494 bytes
07/31/2014 08:04:40 PM
rw-r--r--
📄
XS.pod
10.47 KB
05/27/2014 02:26:08 PM
rw-r--r--
Editing: Errors.pm
Close
# -*- cperl -*- # # This program is free software; you can redistribute it and/or # modify it under the same terms as Perl itself. # # Copyright (C) 2002-2014 Jens Thoms Toerring <jt@toerring.de> # Helper package for File::FcntLock::Core for handling error messages package File::FcntlLock::Errors; use 5.006; use strict; use warnings; use Errno; my %fcntl_error_texts; BEGIN { # Set up a hash with the error messages, but only for errno's that Errno # knows about. The texts represent what is written in SUSv3 and in the # man pages for Linux, TRUE64, OpenBSD3 and Solaris8. my $err; if ( $err = eval { &Errno::EACCES } ) { $fcntl_error_texts{ $err } = "File or segment already locked " . "by other process(es) or file is " . "mmap()ed to virtual memory"; } if ( $err = eval { &Errno::EAGAIN } ) { $fcntl_error_texts{ $err } = "File or segment already locked " . "by other process(es)"; } if ( $err = eval { &Errno::EBADF } ) { $fcntl_error_texts{ $err } = "Not an open file or not opened for " . "writing (with F_WRLCK) or reading " . "(with F_RDLCK)"; } if ( $err = eval { &Errno::EDEADLK } ) { $fcntl_error_texts{ $err } = "Operation would cause a deadlock"; } if ( $err = eval { &Errno::EFAULT } ) { $fcntl_error_texts{ $err } = "Lock outside accessible address space " . "or to many locked regions"; } if ( $err = eval { &Errno::EINTR } ) { $fcntl_error_texts{ $err } = "Operation interrupted by a signal"; } if ( $err = eval { &Errno::ENOLCK } ) { $fcntl_error_texts{ $err } = "Too many segment locks open, lock " . "table full or remote locking protocol " . "failure (e.g. NFS)"; } if ( $err = eval { &Errno::EINVAL } ) { $fcntl_error_texts{ $err } = "Illegal parameter or file does not " . "support locking"; } if ( $err = eval { &Errno::EOVERFLOW } ) { $fcntl_error_texts{ $err } = "One of the parameters to be returned " . "can not be represented correctly"; } if ( $err = eval { &Errno::ENETUNREACH } ) { $fcntl_error_texts{ $err } = "File is on remote machine that can " . "not be reached anymore"; } if ( $err = eval { &Errno::ENOLINK } ) { $fcntl_error_texts{ $err } = "File is on remote machine that can " . "not be reached anymore"; } } ########################################################### # Function for converting an errno to a useful, human readable # message. sub get_error { my ( $self, $err ) = @_; return $self->{ error } = defined $fcntl_error_texts{ $err } ? $fcntl_error_texts{ $err } : "Unexpected error: $!"; } ########################################################### # Method returns the error number from the latest call of the # derived classes lock() function. If the last call did not # result in an error the method returns undef. sub lock_errno { return shift->{ errno }; } ########################################################### # Method returns a short description of the error that happenend # on the latest call of derived classes lock() method with the # object. If there was no error the method returns undef. sub error { return shift->{ error }; } ########################################################### # Method returns the "normal" system error message associated # with errno. The method returns undef if there was no error. sub system_error { local $!; my $self = shift; return $self->{ errno } ? $! = $self->{ errno } : undef; } 1; # Local variables: # tab-width: 4 # indent-tabs-mode: nil # End: