12-28-2009
Try to search something about interlocked variables.
Thanks, kandrewo.
10 More Discussions You Might Find Interesting
1. Programming
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
Can anyone explain me what mutexes are in
multithreading environment? (2 Replies)
Discussion started by: sagar
2 Replies
3. Shell Programming and Scripting
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
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
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
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
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
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
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
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
LEARN ABOUT DEBIAN
critical
CRITICAL_ENTER(9) BSD Kernel Developer's Manual CRITICAL_ENTER(9)
NAME
critical_enter, critical_exit -- enter and exit a critical region
SYNOPSIS
#include <sys/param.h>
#include <sys/systm.h>
void
critical_enter(void);
void
critical_exit(void);
DESCRIPTION
These functions are used to prevent preemption in a critical region of code. All that is guaranteed is that the thread currently executing
on a CPU will not be preempted. Specifically, a thread in a critical region will not migrate to another CPU while it is in a critical
region. The current CPU may still trigger faults and exceptions during a critical section; however, these faults are usually fatal.
The critical_enter() and critical_exit() functions manage a per-thread counter to handle nested critical sections. If a thread is made
runnable that would normally preempt the current thread while the current thread is in a critical section, then the preemption will be
deferred until the current thread exits the outermost critical section.
Note that these functions are not required to provide any inter-CPU synchronization, data protection, or memory ordering guarantees and thus
should not be used to protect shared data structures.
These functions should be used with care as an infinite loop within a critical region will deadlock the CPU. Also, they should not be inter-
locked with operations on mutexes, sx locks, semaphores, or other synchronization primitives. One exception to this is that spin mutexes
include a critical section, so in certain cases critical sections may be interlocked with spin mutexes.
HISTORY
These functions were introduced in FreeBSD 5.0.
BSD
October 5, 2005 BSD