home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.disi.unige.it
/
2015-02-11.ftp.disi.unige.it.tar
/
ftp.disi.unige.it
/
pub
/
.person
/
GianuzziV
/
SO1
/
fork1.c
< prev
next >
Wrap
C/C++ Source or Header
|
2001-11-07
|
702b
|
31 lines
/* fork1.c */
#include <fcntl.h>
int fdrd, fdwt;
char c;
/* Due processi leggono da un file e scrivono su di un altro.
Il file di output e' uguale a quello di input
ma con i caratteri mescolati a seconda della schedulazione */
main (argc, argv)
int argc;
char *argv[];
{ if (argc != 3) exit(1);
if ((fdrd = open (argv[1], O_RDONLY)) == -1)
exit(1);
if ((fdwt = creat(argv[2], 0666)) == -1)
exit(1);
fork(); /* Entrambe i processi eseguono lo stesso codice.
Non c'e' controllo sulla corretta esecuzione di fork */
rdwrt();
exit(0);
}
rdwrt ()
{ for (;;)
{ if (read (fdrd, &c, 1) != 1) return;
write (fdwt, &c, 1);
}
}