[pso] [Tema2][Linux]Buffers

Alexandru Juncu alexandrujuncu at gmail.com
Tue Apr 20 22:47:08 EEST 2010


Salut.

Am niște neclarități legate de cum ar trebui să administrăm buffer-ele.
De exemplu bufferul de citire care este de mărime BUFFER_SIZE. Din
bufferul acela, sunt ocupați device.read_size, să zicem...
1) Dacă eu primesc un apel read (cat /dev/uart), trimit în user space
cât am eu în buffer și după cer de la hardware să umblu iar bufferul
și la urmatorul read (cat) să trimit datele din noul buffer?

2) Dacă primesc un apel read dar cu offset > device.read_size,
presupun că mă blochez și să aștept până mai citesc ceva de la device?
Sau trimit ce am în buffer și spun că am trimis doar read_size și după
umplu iar bufferul din hardware?

3) Dacă primesc un apel cu read dar cu offset > BUFFER_SIZE, la fel,
trimit ce am până atunci în buffer și spun că doar atât am putut
trimite sau aștept mai multe umpleri de buffer de la hw până să fi
trimis cât offset mi-a cerut?

Cred că întrebările au mai mult un stil  if $? == yes goto next_question.
Mulțumesc.


More information about the pso mailing list