|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2003
Città: cagliari
Messaggi: 368
|
PIPE ET FORK HELP US
salve abbiamo dei problemi di programmazione in c sull'utilizzo delle funzioni fork e pipe...
Facendo una fork non riusciamo a far entrare il programma nel processo figlio...nonostante non sbagliamo assolutamente nulla(almeno pensiamo)nel codice... Ci appaiono messaggi tipo hangup....o broken pipe...a cosa sono dovuit?se volete posto il semplice codice...grazie mille |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Un po' di codice non sarebbe male
ciao |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2003
Città: cagliari
Messaggi: 368
|
#include<curses.h>
#include<stdlib.h> #include<unistd.h> #include<stdio.h> typedef struct pos{ int x; int y; char c; }pos; void nemici(int *); void controllo(int*); pos nemico; int main(void){ int filedesnem[2]; int pidnem; initscr(); noecho(); curs_set(0); if (pipe(filedesnem)== -1){ perror("Errore"); exit(1); } nemico.x = 1; nemico.y = 1; nemico.c = '@'; pidnem = fork(); if (pidnem == - 1){ perror("Errore"); exit(1); } else if(pidnem == 0){ nemici(filedesnem); } controllo(filedesnem); kill(pidnem, 1); endwin(); return(0); } void nemici(int *pipein){ close(pipein[0]); write(pipein[1], &nemico, sizeof(nemico)); } void controllo(int *pipeout){ pos appoggio; close(pipeout[1]); read(pipeout[0], &appoggio, sizeof(appoggio)); mvaddch(appoggio.y, appoggio.x, appoggio.c); } Questo è il codice...i nomi hanno un senso nell'orbita del progettino che devo fare...nn prendetemi per malato di mente grazie
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
quando fai una fork e vuo i dividere padre da figlio devi anche mettere un if pid > 0 così entrerà solo il figlio
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: May 2003
Città: cagliari
Messaggi: 368
|
ma nel figlio non entra per quel motivo?
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jun 2002
Città:
Provincia De VaRéSe ~ § ~ Lat.: 45° 51' 7" N Long.: 8° 50' 21" E ~§~ Magica Inter ~ § ~ Detto: A Chi Più Amiamo Meno Dire Sappiamo ~ § ~ ~ § ~ Hobby: Divertimento allo Stato Puro ~ § ~ ~ § ~ You Must Go Out ~ § ~
Messaggi: 8897
|
il problema è che dopo anche il padre esegue quel codice
~§~ Sempre E Solo Lei ~§~
__________________
Meglio essere protagonisti della propria tragedia che spettatori della propria vita
Si dovrebbe pensare più a far bene che a stare bene: e così si finirebbe anche a star meglio. Non preoccuparti solo di essere migliore dei tuoi contemporanei o dei tuoi predecessori.Cerca solo di essere migliore di te stesso |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 16:31.











grazie








