63 lines
1.3 KiB
Plaintext
63 lines
1.3 KiB
Plaintext
|
|
|
|
void thread1(){
|
|
|
|
ce nisi dobil error{
|
|
cv = odpri cev2 WRONLY
|
|
}ce si dobil error{
|
|
cv = odpri cev1 WRONLY
|
|
}
|
|
|
|
while(running){
|
|
preberi sporocilo iz terminala;
|
|
ce je sporocilo enako ""{
|
|
poslji v cv ("n");
|
|
zaustavi thread1(brak)
|
|
!!!uporabi pthread_cancel() da ustavis thread2!!!
|
|
}ce ne{
|
|
poslji v cv (sporocilo);
|
|
}
|
|
}
|
|
zapri cv;
|
|
}
|
|
|
|
void thread2(){
|
|
|
|
ce nisi dobil error{
|
|
cv = odpri cev1 RDONLY
|
|
}ce si dobil error{
|
|
cv = odpri cev2 RDONLY
|
|
}
|
|
|
|
while(running){
|
|
preberi iz cevi (cv) sporocilo;
|
|
|
|
izpisi na terminal sporocilo;
|
|
|
|
ce je sporocilo enako "n"{
|
|
zaustavi thread2(brak)
|
|
!!!uporabi pthread_cancel() da ustavis thread1!!!
|
|
}
|
|
}
|
|
|
|
zapri cv;
|
|
}
|
|
|
|
|
|
main(){
|
|
char cev1 = "./" + argv[1] + "1";
|
|
char cev2 = "./" + argv[1] + "2";
|
|
|
|
ustvari cev1;
|
|
ustvari cev2;
|
|
ce dobis error da cev obstaja si zapomni;
|
|
|
|
ustvari thread 1 in 2;
|
|
|
|
pocakaj da se thred 1 in 2 zakljuci;
|
|
|
|
unlink cev 1 in 2;
|
|
}
|
|
|
|
|
|
za prenos podatkov med cevmi in thredi je meni bilo najlazje uporabljati globalne premenljivke |