skrive, låse og åbne fil
Hej.Jeg har en fil, kaldet share.txt, som skal tilgås af 2 processer. Hver proces skal tilgå share.txt, ved først at låse filen, skrive i den og så åbne den igen.
Når share.txt er åben igen, kan den anden proces kan gøre nøjagtig det samme. Når proces2 så er færdig, starter proces1 forfra osv.
Ovenstående, skal køre i eksempelvis 100 gange.
Det som skal skrives i filen, er informationer fra en struct, der indeholder 2 variabler (int, char).
Jeg har forsøgt at løse det med nedenstående kode, men er gået lidt i stå.
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
int tilgaaFil()
{
pid_t kassedame;
FILE *logfil;
pthread_mutex_t lf;
kassedame = fork();
//P1
//{
//if(PiD =...)
logfil = fopen("./log.txt", "w"); //open file
pthread_mutex_lock(&lf); //LÅS fil
if( kassedame != NULL) //parent process skriver først
{
printf("Jeg skriver til log.txt nu!");
fwrite(&p, 15, sizeof(p), logfil); //skriv til fil,
fclose(logfil);
pthread_mutex_unlock(&lf); //RELEASE fil
exit(EXIT_SUCCESS);
}
exit(EXIT_FAILURE);
--------------
Hvad kan jeg gøre?