[pso] Tema 2 Linux continuare
Horia Geanta
pso@cursuri.cs.pub.ro
Thu, 31 Mar 2005 16:13:32 +0300
Intr-adevar din testul pus la dispozitie reiese ceea ce a spus Razvan:
test("open COM2", (com2=open(com2_path, O_RDWR)) >= 0);
test("open COM2", open(com2_path, O_RDWR) == -1 && errno == EBUSY);
Insa azi am avut laborator de PSO cu Doina si am discutat despre
problema acceselor concurente la un port serial. Ne-a spus ca s-ar
putea ca testul sa fie gresit din punctul acesta de vedere (adica s-ar
dori ca noi sa facem sincronizari pentru acces concurent etc.). As
dori un raspuns "oficial" in aceasta problema (avand in vedere ca se
schimba multe lucruri in driver in functie de raspuns).
On Wed, 30 Mar 2005 22:05:11 +0300, Adrian - Razvan Deaconescu
<razvand@gmail.com> wrote:
> Salut!
>
> ok, tocmai am observat in test (se rezolva multe nelamuriri din
> fisierele de test - un lucru bun :-) ) ca la un al doilea apel de open
> trebuie sa se intoarca -EBUSY; deci driver-ul va fi single-open (un
> singur proces poate sa aiba acces la unul din cele doua porturi la un
> moment dat); asta simplifica destul de mult problema si face inutila
> intrebarea mea referitoare la scrisul sau cititul concurent.
> de fapt asa ar fi si normal tinand cont de natura dispozitivului, dar
> am ramas oarecum fixat pe exemplul de pe site si pe o vedere mai
> generala a device driver-elor.
>
> cam atat pana acum :-),
> Razvan
> _______________________________________________
> pso mailing list
> pso@cursuri.cs.pub.ro
> http://cursuri.cs.pub.ro/cgi-bin/mailman/listinfo/pso
>