Sponsored Content
Top Forums Programming Can Mutex be replaced with anything? Post 302383364 by fpmurphy on Tuesday 29th of December 2009 11:11:28 AM
Old 12-29-2009
Quote:
If I'm reading it right, an interlocked variable looks a lot like a linux futex
You are right. But there are some interesting differences.

A futex (fast userspace mutex) is essentially a userspace 32-bit or 64-bit address (lock) located in a shared memory region together with a matching kernel wait queue (futex queue). In the noncontended case, a lock can be acquired/released from userspace without having to enter the kernel. In the contended case, the kernel gets involved.

Implementation-wise, futexes are closer to slim reader/writer (SRW) locks than to interlocked variables.
 

10 More Discussions You Might Find Interesting

1. Programming

Threads and Mutex

Hi all, I am working in a UNIX/C environment. I would like to understand more about MUTEX and Threads. Can someone explain me these concepts and how they are related. Vijay (2 Replies)
Discussion started by: vthasan
2 Replies

2. UNIX for Dummies Questions & Answers

mutex

Can anyone explain me what mutexes are in multithreading environment? (2 Replies)
Discussion started by: sagar
2 Replies

3. Shell Programming and Scripting

mutex in shell programing

A shell in crontab per 5 min write a file B shell in crontab per 6 min read a file how to lock the share file a ;avioid confilict in write and read? Thx : -) (1 Reply)
Discussion started by: zz_xm
1 Replies

4. Programming

How to handle mutex lock?

Hi, I have two tasks 'Read' and 'Write' which reads and writes on a file "abc.txt" respectively. Now I need to restrict the Write operation on the file while Read is going on, But can allow two Reads at a time. ie. two Reads can happen simultaneously, but Write can't happen at Read is going on. ... (3 Replies)
Discussion started by: satheeshalle
3 Replies

5. Programming

difference between Mutex and semaphores

Hi, can someone explain me the difference between mutex and semaphores? Thanks (1 Reply)
Discussion started by: rvan
1 Replies

6. UNIX for Dummies Questions & Answers

what is diff b/w semaphore and mutex

can u tell me what is the exact difference b/w mutex and semaphore and what is the diff b/w counting semaphore and binary semaphore amit (1 Reply)
Discussion started by: amitpansuria
1 Replies

7. Shell Programming and Scripting

Mutex in Perl

Hello Everyone, I just joined this forum and this is my first post. I would like to know how can I impliment basic read/write locks in perl. I have a database (file) which can be accessed simultaneously but has to be locked while writing. If there is no such support in perl, my next... (6 Replies)
Discussion started by: superuser84
6 Replies

8. Programming

Mutex will not work

I am trying to use mutex in my multi-tread project, but they don't seem to work. I have created a simple demonstration of the problem. This is NOT how I would use a mutex, only a demonstration of the problem: #include <stdio.h> #include <pthread.h> int main() { int val; ... (3 Replies)
Discussion started by: ChrisWilliams
3 Replies

9. Programming

Mutex lock question

Hi all, I have a scenario where I need to use the mutex locks. The mutex locks are working fine, but sometimes I am getting into the dead lock situation. Below is the summary of my code : MUTEX LOCK performTask(); MUTEX UNLOCK. In some cases I get into the situation where... (2 Replies)
Discussion started by: cjjoy
2 Replies

10. Programming

pthread and mutex question

Hello, I have got some issue with the struct variable with passed arguments the variable in the sturct is only recognize the last value their assigned to I'm pretty confused why the mutex didn't work out here is my program: #include<stdio.h> #include<pthread.h> pthread_mutex_t lock... (3 Replies)
Discussion started by: michael23
3 Replies
msem_unlock(2)							System Calls Manual						    msem_unlock(2)

NAME
msem_unlock - unlock a semaphore SYNOPSIS
DESCRIPTION
unlocks a binary semaphore. sem points to an structure that specifies the semaphore to be unlocked. If the condition argument is zero, the semaphore will be unlocked, whether or not any other processes are currently attempting to lock it. If the condition argument is and some other process is waiting to lock the semaphore or the implementation cannot reliably determine whether some process is waiting to lock the semaphore, the semaphore is unlocked by the calling process. If the condition argument is and no process is waiting to lock the semaphore, the semaphore is not unlocked and an error is returned. All calls to and by multiple processes sharing a common structure behave as if the calls were serialized. If the structure contains any value not resulting from a call to followed by a (possibly empty) sequence of calls to and the results are undefined. The address of an uniquely identifies the semaphore. If the structure contains any value copied from a structure at a differ- ent address, the result is undefined. IMPLEMENTATION NOTES
The system attempts to ignore or recover from invalid values placed in the structure, but this is not guaranteed for all cases. RETURN VALUE
Upon success, returns zero; otherwise, it returns -1 and sets to indicate the error. ERRORS
fails if any of the following conditions are encountered: [EAGAIN] was specified and there were no waiters. [EINVAL] sem points to an structure that has been removed, or condition is invalid. [EFAULT] sem is an invalid pointer. AUTHOR
was developed by HP and OSF. SEE ALSO
msem_init(2), msem_lock(2), msem_remove(2), mman(5). STANDARDS CONFORMANCE
msem_unlock(2)
All times are GMT -4. The time now is 01:26 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy