Sponsored Content
Full Discussion: Linux lock problem
Top Forums UNIX for Advanced & Expert Users Linux lock problem Post 302960327 by jim mcnamara on Friday 13th of November 2015 03:46:07 PM
Old 11-13-2015
Since you are in kernel mode context you most likely need a spinlock. What you have is called a critical section.

5.5. Spinlocks discusses spinlocks in general.

http://tuxthink.blogspot.com/2013/06...x-example.html

Since you asked this question I would recommend lots of reading on your own. FIRST. It is easy to crash or hang the system with slightly less than perfect code. Debugging kernel code can be painful, some debugging tools may still require using two physically separate computers.

It is easier to do your homework first. Write dirt simple code for practice, first.
This User Gave Thanks to jim mcnamara For This Post:
 

8 More Discussions You Might Find Interesting

1. Programming

Problem with releasing semaphore lock

Hi, I am trying to write stuff to a shared memory using a writer, and reading the corresponding stuff using a reader. I am facing problems while releasing the lock, as a result of which I am having segmentation faults. The code is as follows... /********** writer.c ***********/ ... (1 Reply)
Discussion started by: jacques83
1 Replies

2. Red Hat

screen lock problem

hi friends i have a small problem,in my redhat enterprise linux system screen lock is not working if i click screen lock no action takes place... so is there any solution to fix this problem or any alternate method available please let me know.... waiting for replys....... thanks... (2 Replies)
Discussion started by: madhusudankh
2 Replies

3. Solaris

/etc/lvm/lock problem

Hi, I amnot able to execute any svm command. it gives the below message and hangs: # metadetach d50 d30 metadetach: waiting on /etc/lvm/lock ^Cmetadetach: Interrupt # metaclear d50 metaclear: waiting on /etc/lvm/lock ^Cmetaclear: Interrupt Please advice. Regards, Sagar. (4 Replies)
Discussion started by: sag71155
4 Replies

4. Red Hat

lock the file in linux

Hi, I want to lock the file in linux and the file cannot be edit or modify by other .I know in perl, there is function flock , but it is not worked. The file can be modifed and edit even if it is locked by flock . Any other way to lock the file and so other cannot edit or modifed it ???? Any... (7 Replies)
Discussion started by: chuikingman
7 Replies

5. Red Hat

Security Question: Lock after invalid login, Session Lock and Required Minimum Password Length

Hello all, If anyone has time, I have a few questions: How do I do the following in Linux. We are using Red Hat and Oracle Enterprise Linux, which is based on Red Hat too. 1. How to lock the account after a few (like 3) invalid password attempts? 2. How do you lock a screen after 30... (1 Reply)
Discussion started by: nstarz
1 Replies

6. UNIX for Advanced & Expert Users

Testing privileges -lock lockfile /var/lock/subsys/..- Permission denied

Hi all, I have to test some user priviliges. The goal is to be sure that an unauthorized user can't restart some modules (ssh, mysql etc...). I'm trying to automate it with a shell script but in same cases I got the syslog broadcast message. Is there any way to simply get a return code... (3 Replies)
Discussion started by: Dedalus
3 Replies

7. UNIX for Dummies Questions & Answers

Caps lock problem

hi all this s quite a foolish problem. I seem to hav pressed some keys s.t in unix, my letters are comin in caps and with caps lock on, i am getting lowercase letters. :o Pls help. Also is there any reference or manual where i can check in case such problems arrise? thanx in advance curiosity (4 Replies)
Discussion started by: curiosity
4 Replies

8. Red Hat

Problem with screen lock

I'm having a weird problem with a RHEL6 workstation. When the screen lock is activated manually the system will lock and the screens will go blank. Once I try to unlock the system, the monitor will just flicker and won't respond. I tried the combination CTRL, ALT, Backspace and it did not work,... (4 Replies)
Discussion started by: goose25
4 Replies
flock(2)							System Calls Manual							  flock(2)

Name
       flock - apply or remove an advisory lock on an open file

Syntax
       #include <sys/file.h>

       #define	 LOCK_SH   1	/* shared lock */
       #define	 LOCK_EX   2	/* exclusive lock */
       #define	 LOCK_NB   4	/* don't block when locking */
       #define	 LOCK_UN   8	/* unlock */

       flock(fd, operation)
       int fd, operation;

Description
       The  system  call applies or removes an advisory lock on the file associated with the file descriptor, fd.  A lock is applied by specifying
       an operation parameter that is the inclusive OR of LOCK_SH or LOCK_EX and, possibly, LOCK_NB.  To unlock an existing lock, operation should
       be LOCK_UN.

       Advisory  locks allow cooperating processes to perform consistent operations on files, but do not guarantee consistency; that is, processes
       might still access files without using advisory locks, possibly resulting in inconsistencies.

       The locking mechanism allows two types of locks: shared locks and exclusive locks.  At any time, multiple shared locks can be applied to  a
       file.  However, multiple exclusive locks, or shared and exclusive locks cannot be applied simultaneously on a file.

       A  shared  lock can be upgraded to be an exclusive lock, and an exclusive lock can become shared, simply by specifying the appropriate lock
       type. This change results in the previous lock being released and the new lock applied. When upgrading, do not include  LOCK_NB	in  opera-
       tion, because there is a possibility that other processes have requests for locks, or have gained or released a lock.

       Requesting  a lock on an object that is already locked normally causes the caller to blocked until the lock can be acquired.  If LOCK_NB is
       included in operation, the call is not blocked; instead, the call fails and the error EWOULDBLOCK is returned.

       Locks are on files, not file descriptors.  That is, file descriptors duplicated through or call do not result in multiple  instances  of  a
       lock,  but  rather  multiple references to a single lock.  If a process holding a lock on a file forks and the child explicitly unlocks the
       file, the parent loses its lock.

       Processes blocked awaiting a lock may be awakened by signals.

Return Values
       Zero is returned if the operation was successful; on an error, a -1 is returned and an error code is stored in the global variable, errno.

Diagnostics
       The call fails under the following conditions:

       [EWOULDBLOCK]  The file is locked and the LOCK_NB option was specified.

       [EBADF]	      The argument fd is an invalid descriptor.

       [EINVAL]       The argument fd refers to an object other than a file.

       [EOPNOTSUPP]   Invalid operation is requested.  The argument fd refers to a socket.

Restrictions
       File region locking is not supported over NFS.

See Also
       close(2), dup(2), execve(2), fork(2), open(2)

																	  flock(2)
All times are GMT -4. The time now is 09:47 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy