[so] [Tema2][win] Probleme creare si utilizare semafoare

Vicentiu Ciorbaru cvicentiu at gmail.com
Tue Apr 9 12:24:34 EEST 2013


Salut,

M-am lovit de urmatoarea problema:

Creez semafoare in procesul mpirun si le initializez cu valoarea 0 sau 1.
Nu pare a fi nici o eroare.

Incerc sa deschid semafoarele in procesele copil via biblioteca mpi,
de fiecare data primesc error: the system can not find the file specified.
Procesul mpirun nu se termina, defapt chiar face wait pe semaforul pe care
procesele copil nu-l pot deschide si ramane blocat acolo.

Apelurile de functii sunt astfel:

sem = CreateSemaphore(NULL, init, 0xFFFF, name);
unde name este un nume cu stringul ce contine urmatoarele caractere:
Global\semstart

Iar in procesul copil via biblioteca mpi:
sem = OpenSemaphore(SEMAPHORE_ALL_ACCESS, FALSE, sema_name);

unde sema_name este acelasi string ca cel de la create semaphore

Mentionez ca in mpirun se creeaza mai multe semafoare
Global\semc0 .. Global\semc<np - 1>
Global\semstart si Global\sembarrier

Nu reusesc sa identific care ar putea fi problema.

Deasemenea, laboratorul 5 compilat pe masina virtuala la mine nu
ruleaza. Primesc:
PS C:\Users\Student\Documents\tema2 SO\lab\lab05\sol\win\2-ipc> .\server.exe
(win_shm.c, shmem_attach, 65): MapViewOfFile: The handle is invalid.

iar cand rulez clientul:
PS C:\Users\Student\Documents\tema2 SO\lab\lab05\sol\win\2-ipc> .\client.exe
(win_queue.c, msgq_get, 52): CreateFile: The system cannot find the
file specified.

Orice ajutor e binevenit, eu nu am reusit sa-i dau de cap.

Also, desi codul este messy, o iteratie a incercarilor de debug este
pe vmchecker.

Vicentiu


More information about the so mailing list