#naukaprogramowania #programowanie #linux
mam aplikacje co z danych na szynie i2c robi ładne pliki używając #fuse ( #raspberrypi )
i jak to testowałem i katowałem w domu to wszystko działa i buczy
wchodzi na produkcje i gleba z zaskoczenia

jak obudować

sudo mount.sensors -o allow_others /mnt/sensors
w taki sposób by złapać tą glebę następną i móc coś powiedzieć na ten temat
bo przyznam wolał bym uniknąć "printf("dupa 1\n") >> /var/log/sensosrs.log" ( zapis
#naukaprogramowania #fuse #linux #programowanie
libFuse -> czyli zrób aby twoja aplikacja wyglądała jak system plików.

I za ciężki czort nie mogę znaleźć czy i jak to się zachowa jak dwa procesy zapytają się o jakiś zasób.
Muszę to wiedzieć by móc odpowiednio ustawić mutexy i zarządzać jak ma następować dostęp do sprzętu.

ale pytanie jest:
Jeśli dwa procesy w systemie zapytają mój system plików o coś w tym samym momencie jak to
@wytrzzeszcz: Czytanie nie powinno być blokowane. Pisanie po prawdzie też, ale to możesz sobie obsłużyć już bardziej jak chcesz. Ogólnie to IIRC nie ma ścisłych wytycznych co ma się dziać, zależy od implementacji i jakie gwarancje daje Ci dany FS.
@TheNewIcek: Przeglądając na szybko kod mam wrażenie, że większość rzeźbienia na stringach jakie wykonujesz ma odpowiednik w glib. A np. tutaj: https://github.com/lukaszgemborowski/spotifs/blob/master/src/sfs.c#L17 chyba powinieneś użyć strtok_r, bo kod wykonywany w ramach fuse może być uruchomiony jednocześnie przez kilku "klientów" (tj. procesów).

Tak czy inaczej ciekawa sprawa. Sporo fajnych rzeczy można zrobić z FUSE, chociaż ma swoje problemy - pamiętam że mocno bolało mnie zachowanie release() - nie wiadomo było kiedy się
@co_to_sie_stanelo: Na początku było założenie, że nie wykorzystuje GLib. Po kilku dniach mi przeszło i teraz chce przejść na GLib gdzie to tylko możliwe. Co do strtok, masz racje. Wcześniej się tym nie przejmowałem, miał to być tylko proof of concept.