08-04-2001
Semaphores are just flags that a program (programmer) uses to see if the flags are set or clear. By kernel rules, so to speak, the flags are guarenteed to be atomic.
When reading and writing shared memory, you must wrap your opens, reads and writes in each process to check the a semaphore to see if it is set or clear.
Semaphores can be used with lots of things, however they are often used as you ask, with shared memory access.
10 More Discussions You Might Find Interesting
1. Programming
signal in process communication:
I 'm a example in sun_unix that signal in process communication
It's here down but I only have freebsd in my machine.
how can i do the same in freebsd
eg:
#include <stdio.h>
#include <signal.h>
#include <unistd.h>
int
main( void ){
void... (2 Replies)
Discussion started by: a9711
2 Replies
2. HP-UX
Hi All,
i am running a oracle procedure which writes a file . The same file is picked up by another script which runs in a cron after every 5 minutes.
Now the problem is that sometimes my script picks up a file while the procedure is still writing data in the file.
is there is any way i... (4 Replies)
Discussion started by: saurabhjain
4 Replies
3. Programming
Hello,
I would like to ask you for a little help with program I'm working on. I have problems with signals and synchronizing processes (I'm quite new to this part of programming).
Process "parent" creates new child process "child1" and this process creates new child process "child2". The... (2 Replies)
Discussion started by: Nightwright
2 Replies
4. UNIX for Advanced & Expert Users
Hi,
I am thinking about writing a log daemon for a multi-processed ksh application (yes - I know that high-level language would be a better option).
My question is as follows:
If many processes (many scripts) will try writing to a single log file:
print "message" > common.log
Will it work or... (2 Replies)
Discussion started by: adderek
2 Replies
5. Programming
i want to write a C chat program that communicates over IPC(inter process communication), that could be run using 2 seperate terminal windows within the same computer. so that wat u type in one terminal window , should appear on the other and vice versa...
could some one please help me with the... (2 Replies)
Discussion started by: localp
2 Replies
6. Programming
I need help!Many Thanks!
Now,I try to manage the shared memory inter-process .
Inevitably,I have to deal with the synchronous.
I know the pthread_rwlock in posix,and I compile ,then run successfully in Red Hat Enterprise 4.
I have a doubt about whether the Posix supports the system such as... (1 Reply)
Discussion started by: weizh
1 Replies
7. OS X (Apple)
If I open two bash shells and telnet from Shell 2 to a remote server (on the Net), is there a way to direct input from Shell 1 to the telnet shell?
The telnet shell is a limited environment with a specific command set.
I want to direct commands from Shell 1 and, if possible, put 1-second... (2 Replies)
Discussion started by: xinUoG
2 Replies
8. Programming
hello everyone,
i am making chat server in linux using c. i have made programs in which group chat can take place between multiple clients but i am not able to understand how to make 2 particular clients chat with each other. please help!!! (1 Reply)
Discussion started by: sweetbella
1 Replies
9. Programming
Hello
I would like to create an application with communication between processes,
application tightly coupled, have you please an idea about an API or
a tool that allows me to generate such application?
Thank you so much (11 Replies)
Discussion started by: chercheur857
11 Replies
10. IP Networking
Hello. I want to Communicate 2 VLAN with router like this solution:
http://8pic.ir/images/83m0ouih8mmm9s1sfl56.jpg
For this purpose I'm configuring 2 Linux system as a switch and connect 4 host to them. Then a router is added to scenario.
The configuration of the switches is:
On DUT1(Linux):... (1 Reply)
Discussion started by: zsn
1 Replies
LEARN ABOUT REDHAT
thread::semaphore
Thread::Semaphore(3pm) Perl Programmers Reference Guide Thread::Semaphore(3pm)
NAME
Thread::Semaphore - thread-safe semaphores
SYNOPSIS
use Thread::Semaphore;
my $s = new Thread::Semaphore;
$s->up; # Also known as the semaphore V -operation.
# The guarded section is here
$s->down; # Also known as the semaphore P -operation.
# The default semaphore value is 1.
my $s = new Thread::Semaphore($initial_value);
$s->up($up_value);
$s->down($up_value);
DESCRIPTION
Semaphores provide a mechanism to regulate access to resources. Semaphores, unlike locks, aren't tied to particular scalars, and so may be
used to control access to anything you care to use them for.
Semaphores don't limit their values to zero or one, so they can be used to control access to some resource that there may be more than one
of. (For example, filehandles). Increment and decrement amounts aren't fixed at one either, so threads can reserve or return multiple
resources at once.
FUNCTIONS AND METHODS
new
new NUMBER
"new" creates a new semaphore, and initializes its count to the passed number. If no number is passed, the semaphore's count is set
to one.
down
down NUMBER
The "down" method decreases the semaphore's count by the specified number, or by one if no number has been specified. If the sema-
phore's count would drop below zero, this method will block until such time that the semaphore's count is equal to or larger than
the amount you're "down"ing the semaphore's count by.
up
up NUMBER
The "up" method increases the semaphore's count by the number specified, or by one if no number has been specified. This will
unblock any thread blocked trying to "down" the semaphore if the "up" raises the semaphore count above the amount that the "down"s
are trying to decrement it by.
perl v5.8.0 2002-06-01 Thread::Semaphore(3pm)