joaquinfontela / Taller-95.08-TP3

0 stars 0 forks source link

Race condition en recursos #7

Closed mlafroce closed 3 years ago

mlafroce commented 3 years ago

Falta proteger el resto de las funciones que acceden al recurso compartido

https://github.com/joaquinfontela/tp3-taller/blob/b5bd4fd3a8b154013e5db023b00602c0944452f4/server_src/ResourcesManager.cpp#L6

https://github.com/joaquinfontela/tp3-taller/blob/b5bd4fd3a8b154013e5db023b00602c0944452f4/server_src/ResourcesManager.cpp#L10

joaquinfontela commented 3 years ago

Hola, ahi las protegi, pero cual seria la necesidad de hacer eso en este caso?

mlafroce commented 3 years ago

Si estás haciendo un insert en un hilo cualquier operación que hagas en otro hilo puede explotar. Un insert modifica la estructura del árbol, por lo tanto cualquier operación que ocurra en simultaneo es comportamiento indefinido.

Acá lo explica con otras palabras https://stackoverflow.com/questions/58034863/is-calling-size-on-a-std-container-thread-safe

joaquinfontela commented 3 years ago

Segun eso, no deberia proteger UNICAMENTE el "addResource"? Pregunto porque los demas metodos de ResourcesManager solo leen informacion, no escriben.