pipes und time()



  • hi,
    hätte da mal eine kleine frage.
    ich muss einen timestamp in eine pipe schreiben und dann wieder auslesen.
    mir ist aber leider jeder versuch misslungen weil ich ein problem damit habe, den int-time wert ein- bzw auszulesen.

    hat einer von euch zufällig ein paar zeilen code bereit?

    danke und grüße

    luge



  • so,
    wie immer habe ich erst dann selbst was gefunden, als ich ich die fachleute (euch) schon verrückt gemacht hatte.
    hab das ganze jetzt so gelöst:

    int zeit=time(NULL);
    int fehler;
    int deskr[2];
    fehler=pipe(deskr);
    if(fehler < 0) printf("FEHLER\n");
    write(deskr[1],(void*) &zeit,sizeof(int));

    das geht auch und steht in der main.
    jetzt wird ein bischen geforked 😉 und dann will ich in einem kindprozess die pipe wieder auslesen.
    problem ist, dass dieser in eine andere funktion ist und somit die pipe nicht kennt.
    wie bekomme ich das hin, dass die funktion des kindprozesses die pipe aus der main auch kennt?

    sorry und nochmals danke

    luge



  • ^^dein 'fehler' ist doch ein pipe-handle (oder sowas), ne?. musste mal schauen, wie du den an den kindprozess übergeben kannst.
    btw, ich habe keine ahnung von unix o.ä., aber ich antworte trotzdem mal.
    🙂


Anmelden zum Antworten