05-09-2008
Negative Offset
Function: int fcntl(int fd, int cmd, struct flock * lock)
Data Type: struct flock
This structure is used with the fcntl function to describe a file lock. It has these members:
off_t l_start
This specifies the offset of the start of the region to which the lock applies, and is given in bytes relative to the point specified by l_whence member.
off_t l_len
This specifies the length of the region to be locked. A value of 0 is treated specially; it means the region extends to the end of the file.
Can I set negative offset to l_start?
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello all,
I am trying to add chunks to my informix dataspace. I have one dataspace ( the rootdbs ) and the new chunk is a raw device. Precisely slice1 on my new external harddisk.
The question is, what should be the offset value. The document says, the offset is used by the engine to... (1 Reply)
Discussion started by: shibz
1 Replies
2. UNIX for Dummies Questions & Answers
Hi,
I want to read a file from a specified offset from the start of file. With the read command, is it possible to do so. Please suggest. Is there any other alternative?
Thanks,
Saurabh (2 Replies)
Discussion started by: saurabhsinha23
2 Replies
3. Solaris
root@erpqas# vxdg -g sap_dg free
DISK DEVICE TAG OFFSET LENGTH FLAGS
sapdisk3 c1t10d0s2 c1t10d0 15707513 2869 -
sapdisk3 c1t10d0s2 c1t10d0 71080956 43335 -
sapdisk5 c1t12d0s2 c1t12d0 70321149 803142 -
... (1 Reply)
Discussion started by: tv.praveenkumar
1 Replies
4. AIX
We had a mirrored disk failed (not the rootvg), there are 3 lvs (transfer, applogs, arch) from extvg gone open/stale state.
After replaced failed disk and run cfgmgr, the new replaced disk is visible:
)
I did the following to re-mirror new disk:
# extendvg prodvg hdisk3
# lspv (got new pvid on... (2 Replies)
Discussion started by: jalite19
2 Replies
5. Solaris
How to add offset to NTP client so that, for eg., clock is -20 seconds? (2 Replies)
Discussion started by: orange47
2 Replies
6. UNIX for Dummies Questions & Answers
I have read the below from the book bash cookbook.Tail +1 filenames is similar to cat filename
I have tried the same in Ubuntu 11.10 with bash. 4.0 .
I have received error for the Same.
May I know in which system that will work fine ?
Thanks (1 Reply)
Discussion started by: pandeesh
1 Replies
7. Shell Programming and Scripting
Hi ,
I have a .gz file whose contents look like below.
data1^filename1
data2^filename2.
..
.
.
Is it possible to find out the byte offset of each record from the .gz file.
Like in an uncompressed file.
grep -nb "Filename" give the byte offset of the record in this case.
... (4 Replies)
Discussion started by: chetan.c
4 Replies
8. UNIX for Dummies Questions & Answers
How can I get GMT offset from EST for a particular date(not current date) in unix. For example, user enters date as: 2012-06-25D11:49:37, this is GMT. I have to calculate GMT offset from EST in unix for this input. Thanks in advance.
-Steve (1 Reply)
Discussion started by: qwarentine
1 Replies
9. UNIX for Advanced & Expert Users
Hi,
I am trying to get the position of a repeated string in a line using
grep -b -o "pattern"
In my server I am using GNU grep version 2.14 and the code is working fine. However when I am deploying the same code in a different server which is using GNU grep version 2.5.1 the code is not... (3 Replies)
Discussion started by: Subhamoy
3 Replies
10. UNIX for Dummies Questions & Answers
Dear all,
I want to offset the file numbers. can you please make some awk code or linux code for the same.
Example:
input file names
ANI_WFMASS_PIST00001.gif
ANI_WFMASS_PIST00002.gif
.
.
.
ANI_WFMASS_PIST0000n.gif
offset --> 30
ANI_WFMASS_PIST00031.gif
ANI_WFMASS_PIST00032.gif... (14 Replies)
Discussion started by: kri321shna
14 Replies
FLOCK(2) Linux Programmer's Manual FLOCK(2)
NAME
flock - apply or remove an advisory lock on an open file
SYNOPSIS
#include <sys/file.h>
int flock(int fd, int operation);
DESCRIPTION
Apply or remove an advisory lock on the open file specified by fd. The parameter operation is one of the following:
LOCK_SH Place a shared lock. More than one process may hold a shared lock for a given file at a given time.
LOCK_EX Place an exclusive lock. Only one process may hold an exclusive lock for a given file at a given time.
LOCK_UN Remove an existing lock held by this process.
A call to flock() may block if an incompatible lock is held by another process. To make a non-blocking request, include LOCK_NB (by ORing)
with any of the above operations.
A single file may not simultaneously have both shared and exclusive locks.
Locks created by flock() are associated with a file, or, more precisely, an open file table entry. This means that duplicate file descrip-
tors (created by, for example, fork(2) or dup(2)) refer to the same lock, and this lock may be modified or released using any of these
descriptors. Furthermore, the lock is released either by an explicit LOCK_UN operation on any of these duplicate descriptors, or when all
such descriptors have been closed.
A process may only hold one type of lock (shared or exclusive) on a file. Subsequent flock() calls on an already locked file will convert
an existing lock to the new lock mode.
Locks created by flock() are preserved across an execve(2).
A shared or exclusive lock can be placed on a file regardless of the mode in which the file was opened.
RETURN VALUE
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
ERRORS
EWOULDBLOCK
The file is locked and the LOCK_NB flag was selected.
EBADF fd is not a not an open file descriptor.
EINTR While waiting to acquire a lock, the call was interrupted by delivery of a signal caught by a handler.
EINVAL operation is invalid.
ENOLCK The kernel ran out of memory for allocating lock records.
CONFORMING TO
4.4BSD (the flock(2) call first appeared in 4.2BSD). A version of flock(2), possibly implemented in terms of fcntl(2), appears on most
Unices.
NOTES
flock(2) does not lock files over NFS. Use fcntl(2) instead: that does work over NFS, given a sufficiently recent version of Linux and a
server which supports locking.
Since kernel 2.0, flock(2) is implemented as a system call in its own right rather than being emulated in the GNU C library as a call to
fcntl(2). This yields true BSD semantics: there is no interaction between the types of lock placed by flock(2) and fcntl(2), and flock(2)
does not detect deadlock.
flock(2) places advisory locks only; given suitable permissions on a file, a process is free to ignore the use of flock(2) and perform I/O
on the file.
flock(2) and fcntl(2) locks have different semantics with respect to forked processes and dup(2).
SEE ALSO
open(2), close(2), dup(2), execve(2), fcntl(2), fork(2), lockf(3)
There are also locks.txt and mandatory.txt in /usr/src/linux/Documentation.
Linux 2002-04-24 FLOCK(2)