Process synchronisation via the net ?

Process synchronisation via the net ?

Post by Axel Freybe » Sat, 08 May 1993 01:22:02



Hi !

Is there any possibility to send signals between two UNIX processes via
the net ?

If two processes are running on the same UNIX station(SUN/SPARC),
it is easy to synchronize them by using signals. One process installs his
signal handler and waits by using 'pause' for another process, which sends
him a signal using 'signal'.
But, if I have two seperate UNIX stations, which are connected via the net
(Internet) and a filesystem(NFS), it is not possible that a signal is sent
from one process to the other via the net. Another Problem is that the
receiving process does not know, from whom he will receive the `signal`.
He only knows that he will receive a 'signal' anytime.
So how can I synchronize these two processes, if I want to
avoid that the waiting process waits actively (needs cputime)? Isn't there a
possibility to use the common filesystem for that purpose? I would like to
give the operation system the responsibility to suspend the process and to
wake it up again. Are there any other UNIX commands except fcntl, which work on
the net or on the common filesystem?

So far sockets seem to me the only possibility. Because of the common
filesystem the broadcasting of the socket adress is no problem, but I think
there might be an easier way to do this.  
Has anybody experience in using sockets?  I have especially one question:
 Is it possible that a process, which is waiting for a datagram to arrive, is
 interrupted by an signal and is waiting for the datagram again, after it has
 executed the signal handling procedure?

Thanks.

Axel Freyberg

------------------------------------------------------------------------------

Forschungszentrum Informatik
Karlsruhe
Germany

 
 
 

Process synchronisation via the net ?

Post by A. Khatt » Tue, 11 May 1993 09:55:34


Quote:>But, if I have two seperate UNIX stations, which are connected via the net
>(Internet) and a filesystem(NFS), it is not possible that a signal is sent
>from one process to the other via the net. Another Problem is that the
>receiving process does not know, from whom he will receive the `signal`.
>He only knows that he will receive a 'signal' anytime.
>So how can I synchronize these two processes, if I want to
>avoid that the waiting process waits actively (needs cputime)? Isn't there a

How about, instead of using sockets (which would be my automatic answer),
creating a file in the shared filesystem which both processes look for?

A few years back, I used a multi-user application that did this since flock()
didn't work across NFS, but lockfiles worked fine.

Of course, Im not taking use of CPU time, etc into account here.

Aj.
--
.-------------------------[ The Eno ]-------------------------------------.




 
 
 

1. process synchronisation via the net ?

Hi !

Is there any possibility to send signals between two UNIX processes via
the net ?

If two processes are running on the same UNIX station(SUN/SPARC),
it is easy to synchronize them by using signals. One process installs his
signal handler and waits by using 'pause' for another process, which sends
him a signal using 'signal'.
But, if I have two seperate UNIX stations, which are connected via the net
(Internet) and a filesystem(NFS), it is not possible that a signal is sent
from one process to the other via the net. Another Problem is that the
receiving process does not know, from whom he will receive the `signal`.
He only knows that he will receive a 'signal' anytime.
So how can I synchronize these two processes, if I want to
avoid that the waiting process waits actively (needs cputime)? Isn't there a
possibility to use the common filesystem for that purpose? I would like to
give the operation system the responsibility to suspend the process and to
wake it up again. Are there any other UNIX commands except fcntl, which work on
the net or on the common filesystem?

So far sockets seem to me the only possibility. Because of the common
filesystem the broadcasting of the socket adress is no problem, but I think
there might be an easier way to do this.  
Has anybody experience in using sockets?  I have especially one question:
 Is it possible that a process, which is waiting for a datagram to arrive, is
 interrupted by an signal and is waiting for the datagram again, after it has
 executed the signal handling procedure?

Thanks.

Axel Freyberg

------------------------------------------------------------------------------

Forschungszentrum Informatik
Karlsruhe
Germany

2. BT878 sound problems

3. via-rhine.c net driver/VIA VT6102 Rhine-II runs in spurts

4. Split shell on VTxx emulation

5. using thread synchronization objects across process

6. Am I getting hacked?

7. Process synchronization in Perl safe pipes

8. dhcp server bug ...

9. shared memory and process synchronization

10. Process-shared synchronization variables

11. Run processes on synchronisation scheme?????

12. POSIX process-shared synchronization variables on Solaris 2.6

13. Synchronization of parallel processes