File-Lock
view release on metacpan or search on metacpan
OUTPUT:
RETVAL
void
fcntl(file, mode=Lock_exclusive|Lock_nonblock, offset=0, whence=SEEK_SET, length=0)
FILE * file
mode_int mode
int offset
int whence
int length
PPCODE:
{
# ifdef FDEBUG
fprintf(stderr,"Entering fcntl(%d,%s,%d,%d,%d)\n",fileno(file),mode_name[mode],offset,whence,length);
# endif
# if defined(HAS_FCNTL)
#define YES_FCNTL
{
struct flock retflk;
int retval;
retval = _base_fcntl(fileno(file),mode,offset,whence,length, &retflk);
# if !defined(HAS_FCNTL) && !defined(HAS_LOCKF)
#define NO_FCNTL
croak("fcntl is not supported on this architecture\n");
# endif
}
void
flock(file, mode=Lock_exclusive|Lock_nonblock)
FILE * file
mode_int mode
PPCODE:
{
# ifdef FDEBUG
fprintf(stderr,"Entering flock(%d,%s)\n",fileno(file),mode_name[mode]);
# endif
# if defined(HAS_FLOCK)
#define YES_FLOCK
ReturnResult(_base_flock(fileno(file),mode),mode);
# endif
# if !defined(HAS_FLOCK) && defined(HAS_FCNTL)
#define EMU_FLOCK
# endif
}
void
lockf(file, mode=Lock_exclusive|Lock_nonblock, offset=0, whence=SEEK_SET, length=0)
FILE * file
mode_int mode
int offset
int whence
int length
PPCODE:
{
# ifdef FDEBUG
fprintf(stderr,"Entering lockf(%d,%s,%d,%d,%d)\n",fileno(file),mode_name[mode],offset,whence,length);
# endif
# if defined(HAS_LOCKF)
#define YES_LOCKF
ReturnResult(_base_lockf(fileno(file),mode,offset,whence,length),mode);
# endif
# if !defined(HAS_LOCKF) && defined(HAS_FCNTL)
#define EMU_LOCKF
# ifdef FDEBUG
fprintf(stderr,"Returning `%s' from has_lockfile()\n",RETVAL);
# endif
}
OUTPUT:
RETVAL
void
_mode(mode)
mode_int mode
PPCODE:
{
ReturnResult(mode & Lock_modemask,Lock_test);
}
void
new(class, file, mode=Lock_shared, offset=0, whence=SEEK_SET, length=0)
SV * class
FILE * file
mode_int mode
int offset
int whence
int length
PPCODE:
{
# ifdef FDEBUG
fprintf(stderr,"Entering new File::Lock(%d,%s,%d,%d,%d)\n",fileno(file),mode_name[mode],offset,whence,length);
# endif
if(((mode & Lock_modemask)== Lock_test) || ((mode & Lock_modemask)==Lock_unlock)) {
croak("Only exclusive or shared locking modes may be used with new File::Lock.\n");
}
{
# if defined(HAS_FCNTL)
struct flock retflk;
( run in 0.636 second using v1.01-cache-2.11-cpan-5511b514fd6 )