Skip to content

Commit 441c214

Browse files
committed
Improved readme documentation and diagrams
1 parent 1fc7062 commit 441c214

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+1459
-1062
lines changed

README.md

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,79 +2,96 @@
22

33
Este repositorio contiene la solución propuesta para la PoC detallada en la [consigna](./TP2_Threads_Enunciado.pdf).
44

5-
## Diagrama de hilos
5+
## Diagramas de hilos y queues
66

7-
El diagrama se puede ver con más detalle descargando la imagen ubicada en [./docs/threads_diagram.png](./docs/threads_diagram.png) o el mismo archivo drawio [./docs/threads_diagram.drawio](./docs/threads_diagram.drawio).
7+
### Manejo de mensajes con los clientes
88

9-
<img src="./docs/threads_diagram.png">
9+
Este diagrama refleja cómo se manejan los threads relacionados al envío y recepción de mensajes con un cliente, desde el thread main del server. Se ilustra un sólo cliente, nombrándolo con el sufijo "1", las interacciones serían las mismas con más clientes en sus respectivos threads. El cliente es single-threaded.
10+
11+
<img src="./docs/client_thread.png">
12+
13+
### Servidor
14+
15+
El resto de la arquitectura / intercomunicación de threads con queues se representa en este diagrama:
16+
17+
<img src="./docs/server_threads.png">
1018

1119
## Queues
1220

13-
Todas las Queues utilizadas fueron del tipo unbounded, entendiendo que el sistema podrá tomar una cantidad virtualmente infinita de clientes.
21+
Todas las Queues utilizadas fueron del tipo unbounded, entendiendo que el sistema podrá tomar una cantidad virtualmente infinita de clientes, aunque en la práctica la cantidad máxima estaría delimitada por la memoria y otros recursos del sistema que hostee el servidor.
1422

15-
Las queues de los ClientConnections son bloqueantes porque me interesa que esos threads no hagan busy wait.
23+
Las queues de las ClientConnections son bloqueantes porque me interesa que esos threads no hagan busy wait.
1624

17-
Los pop de las queues con los que JazzJackrabbit2GameServer debe interactuar son no bloqueantes ya que no quiere bloquear el gameloop. Sin embargo, los push de las mismas son bloqueantes.
25+
Los pop de las queues con los que JazzJackrabbit2GameServer debe interactuar son no bloqueantes ya que no se quiere bloquear el gameloop. Sin embargo, los push de las mismas son bloqueantes.
1826

1927
## Tick system
2028

21-
Para el servidor se utiliza un sistema de ticks, inspirado en el funcionamiento del motor Source by Valve. Así como un frame es una actualización de la imagen gráfica que renderiza un motor gráfico. Un tick o "gameframe" es una actualización de la lógica/estado del juego.
29+
Para el servidor se utiliza un "sistema de ticks", inspirado en el funcionamiento del engine Source by Valve.
30+
31+
Así como un frame es una actualización de la imagen gráfica que renderiza un motor gráfico. Un tick o "gameframe" es una actualización de la lógica/estado del juego.
2232

2333
## Setup
2434

2535
Instalar pre-commit hooks:
36+
2637
```shell
2738
pre-commit install
2839
```
2940

3041
Para crear un commit sin correr los hooks se debe ejecutar:
42+
3143
```shell
3244
git commit --no-verify
3345
```
3446

3547
Para correr cppcheck sin necesidad de un commit se debe ejecutar:
48+
3649
```shell
3750
pre-commit run --all-files
3851
```
3952

4053
## Compilación
4154

4255
Compilación con código as-is:
56+
4357
```shell
4458
make
4559
```
4660

4761
Compilación con código con wrap randomizado de sockets:
62+
4863
```shell
4964
make wrapsocks=1
5065
```
5166

5267
## Running multi client
5368

5469
Correr tests sin valgrind:
70+
5571
```shell
5672
./run_tests.sh ./ casos/ multi-client no-valgrind 60 10
5773
```
5874

5975
Correr tests con valgrind:
76+
6077
```shell
6178
./run_tests.sh ./ casos/ multi-client valgrind 60 10
6279
```
80+
6381
## Comparación outputs
6482

6583
Comparar outputs:
84+
6685
```shell
6786
./compare_outputs.sh casos/ salidas/
6887
```
6988

70-
7189
## Supresión de flags de cppcheck
7290

7391
En algunos headers (.h) puntuales se suprimió el warning `unusedStructMember` de cppcheck. Esta decisión fue tomada porque es un falso positivo, en todos los casos que sucede, es sólo en headers de clases sobre variables privadas que sí se usan dentro del código (en el .cpp).
7492

7593
En el método Army::receive_attack de la clase Army, se suprimió el flag `useStlAlgorithm`, dado que el algoritmo sugerido por cppcheck no cumplía con las necesidades del método. Así que se continuó usando un ranged-based for loop.
7694

77-
7895
## Licencia
7996

8097
GPL v2
Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
==00:00:00:00.000 2296585== Memcheck, a memory error detector
2-
==00:00:00:00.000 2296585== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
3-
==00:00:00:00.000 2296585== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
4-
==00:00:00:00.000 2296585== Command: ./client 127.0.0.1 1501
5-
==00:00:00:00.000 2296585== Parent PID: 2296582
6-
==00:00:00:00.000 2296585==
7-
==00:00:00:10.020 2296585==
8-
==00:00:00:10.020 2296585== FILE DESCRIPTORS: 5 open (3 std) at exit.
9-
==00:00:00:10.020 2296585== Open file descriptor 63:
10-
==00:00:00:10.020 2296585== <inherited from parent>
11-
==00:00:00:10.020 2296585==
12-
==00:00:00:10.020 2296585== Open file descriptor 3: /mnt/62EE36AFEE367B7D/Users/Gabriel/Desktop/University/2024/Taller de Programación 1/TPs/TP2 - Threads/threads-2024c1-gabrieldiem/casos/01_single_player_shoot_exit/__client_0_valgrind__
13-
==00:00:00:10.020 2296585== <inherited from parent>
14-
==00:00:00:10.020 2296585==
15-
==00:00:00:10.020 2296585==
16-
==00:00:00:10.021 2296585== HEAP SUMMARY:
17-
==00:00:00:10.021 2296585== in use at exit: 0 bytes in 0 blocks
18-
==00:00:00:10.021 2296585== total heap usage: 22 allocs, 22 frees, 78,730 bytes allocated
19-
==00:00:00:10.021 2296585==
20-
==00:00:00:10.021 2296585== All heap blocks were freed -- no leaks are possible
21-
==00:00:00:10.021 2296585==
22-
==00:00:00:10.021 2296585== For lists of detected and suppressed errors, rerun with: -s
23-
==00:00:00:10.021 2296585== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
1+
==00:00:00:00.000 2451155== Memcheck, a memory error detector
2+
==00:00:00:00.000 2451155== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
3+
==00:00:00:00.000 2451155== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
4+
==00:00:00:00.000 2451155== Command: ./client 127.0.0.1 1501
5+
==00:00:00:00.000 2451155== Parent PID: 2451152
6+
==00:00:00:00.000 2451155==
7+
==00:00:00:10.024 2451155==
8+
==00:00:00:10.024 2451155== FILE DESCRIPTORS: 5 open (3 std) at exit.
9+
==00:00:00:10.024 2451155== Open file descriptor 63:
10+
==00:00:00:10.024 2451155== <inherited from parent>
11+
==00:00:00:10.024 2451155==
12+
==00:00:00:10.024 2451155== Open file descriptor 3: /mnt/62EE36AFEE367B7D/Users/Gabriel/Desktop/University/2024/Taller de Programación 1/TPs/TP2 - Threads/threads-2024c1-gabrieldiem/casos/01_single_player_shoot_exit/__client_0_valgrind__
13+
==00:00:00:10.024 2451155== <inherited from parent>
14+
==00:00:00:10.024 2451155==
15+
==00:00:00:10.024 2451155==
16+
==00:00:00:10.024 2451155== HEAP SUMMARY:
17+
==00:00:00:10.024 2451155== in use at exit: 0 bytes in 0 blocks
18+
==00:00:00:10.024 2451155== total heap usage: 36 allocs, 36 frees, 92,771 bytes allocated
19+
==00:00:00:10.024 2451155==
20+
==00:00:00:10.024 2451155== All heap blocks were freed -- no leaks are possible
21+
==00:00:00:10.025 2451155==
22+
==00:00:00:10.025 2451155== For lists of detected and suppressed errors, rerun with: -s
23+
==00:00:00:10.025 2451155== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0 2296582 10
1+
0 2451152 10
Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
==00:00:00:00.000 2296551== Memcheck, a memory error detector
2-
==00:00:00:00.000 2296551== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
3-
==00:00:00:00.000 2296551== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
4-
==00:00:00:00.000 2296551== Command: ./server 1500
5-
==00:00:00:00.000 2296551== Parent PID: 2296549
6-
==00:00:00:00.000 2296551==
7-
==00:00:00:10.848 2296551==
8-
==00:00:00:10.848 2296551== FILE DESCRIPTORS: 5 open (3 std) at exit.
9-
==00:00:00:10.848 2296551== Open file descriptor 63:
10-
==00:00:00:10.848 2296551== <inherited from parent>
11-
==00:00:00:10.848 2296551==
12-
==00:00:00:10.848 2296551== Open file descriptor 3: /mnt/62EE36AFEE367B7D/Users/Gabriel/Desktop/University/2024/Taller de Programación 1/TPs/TP2 - Threads/threads-2024c1-gabrieldiem/casos/01_single_player_shoot_exit/__server_valgrind__
13-
==00:00:00:10.848 2296551== <inherited from parent>
14-
==00:00:00:10.848 2296551==
15-
==00:00:00:10.848 2296551==
16-
==00:00:00:10.848 2296551== HEAP SUMMARY:
17-
==00:00:00:10.848 2296551== in use at exit: 0 bytes in 0 blocks
18-
==00:00:00:10.848 2296551== total heap usage: 100 allocs, 100 frees, 90,729 bytes allocated
19-
==00:00:00:10.848 2296551==
20-
==00:00:00:10.849 2296551== All heap blocks were freed -- no leaks are possible
21-
==00:00:00:10.849 2296551==
22-
==00:00:00:10.849 2296551== For lists of detected and suppressed errors, rerun with: -s
23-
==00:00:00:10.849 2296551== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
1+
==00:00:00:00.000 2451126== Memcheck, a memory error detector
2+
==00:00:00:00.000 2451126== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
3+
==00:00:00:00.000 2451126== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
4+
==00:00:00:00.000 2451126== Command: ./server 1500
5+
==00:00:00:00.000 2451126== Parent PID: 2451124
6+
==00:00:00:00.000 2451126==
7+
==00:00:00:10.659 2451126==
8+
==00:00:00:10.659 2451126== FILE DESCRIPTORS: 5 open (3 std) at exit.
9+
==00:00:00:10.659 2451126== Open file descriptor 63:
10+
==00:00:00:10.659 2451126== <inherited from parent>
11+
==00:00:00:10.659 2451126==
12+
==00:00:00:10.659 2451126== Open file descriptor 3: /mnt/62EE36AFEE367B7D/Users/Gabriel/Desktop/University/2024/Taller de Programación 1/TPs/TP2 - Threads/threads-2024c1-gabrieldiem/casos/01_single_player_shoot_exit/__server_valgrind__
13+
==00:00:00:10.659 2451126== <inherited from parent>
14+
==00:00:00:10.659 2451126==
15+
==00:00:00:10.659 2451126==
16+
==00:00:00:10.659 2451126== HEAP SUMMARY:
17+
==00:00:00:10.659 2451126== in use at exit: 0 bytes in 0 blocks
18+
==00:00:00:10.659 2451126== total heap usage: 164 allocs, 164 frees, 105,720 bytes allocated
19+
==00:00:00:10.659 2451126==
20+
==00:00:00:10.659 2451126== All heap blocks were freed -- no leaks are possible
21+
==00:00:00:10.660 2451126==
22+
==00:00:00:10.660 2451126== For lists of detected and suppressed errors, rerun with: -s
23+
==00:00:00:10.660 2451126== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
==00:00:00:00.000 2296771== Memcheck, a memory error detector
2-
==00:00:00:00.000 2296771== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
3-
==00:00:00:00.000 2296771== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
4-
==00:00:00:00.000 2296771== Command: ./client 127.0.0.1 1503
5-
==00:00:00:00.000 2296771== Parent PID: 2296768
6-
==00:00:00:00.000 2296771==
7-
==00:00:00:08.912 2296771==
8-
==00:00:00:08.912 2296771== FILE DESCRIPTORS: 5 open (3 std) at exit.
9-
==00:00:00:08.912 2296771== Open file descriptor 63:
10-
==00:00:00:08.912 2296771== <inherited from parent>
11-
==00:00:00:08.912 2296771==
12-
==00:00:00:08.912 2296771== Open file descriptor 3: /mnt/62EE36AFEE367B7D/Users/Gabriel/Desktop/University/2024/Taller de Programación 1/TPs/TP2 - Threads/threads-2024c1-gabrieldiem/casos/02_single_player_shoot_read/__client_0_valgrind__
13-
==00:00:00:08.912 2296771== <inherited from parent>
14-
==00:00:00:08.912 2296771==
15-
==00:00:00:08.912 2296771==
16-
==00:00:00:08.912 2296771== HEAP SUMMARY:
17-
==00:00:00:08.912 2296771== in use at exit: 0 bytes in 0 blocks
18-
==00:00:00:08.912 2296771== total heap usage: 45 allocs, 45 frees, 83,680 bytes allocated
19-
==00:00:00:08.912 2296771==
20-
==00:00:00:08.912 2296771== All heap blocks were freed -- no leaks are possible
21-
==00:00:00:08.912 2296771==
22-
==00:00:00:08.912 2296771== For lists of detected and suppressed errors, rerun with: -s
23-
==00:00:00:08.912 2296771== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
1+
==00:00:00:00.000 2451307== Memcheck, a memory error detector
2+
==00:00:00:00.000 2451307== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
3+
==00:00:00:00.000 2451307== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
4+
==00:00:00:00.000 2451307== Command: ./client 127.0.0.1 1503
5+
==00:00:00:00.000 2451307== Parent PID: 2451304
6+
==00:00:00:00.000 2451307==
7+
==00:00:00:08.904 2451307==
8+
==00:00:00:08.904 2451307== FILE DESCRIPTORS: 5 open (3 std) at exit.
9+
==00:00:00:08.904 2451307== Open file descriptor 63:
10+
==00:00:00:08.904 2451307== <inherited from parent>
11+
==00:00:00:08.904 2451307==
12+
==00:00:00:08.904 2451307== Open file descriptor 3: /mnt/62EE36AFEE367B7D/Users/Gabriel/Desktop/University/2024/Taller de Programación 1/TPs/TP2 - Threads/threads-2024c1-gabrieldiem/casos/02_single_player_shoot_read/__client_0_valgrind__
13+
==00:00:00:08.904 2451307== <inherited from parent>
14+
==00:00:00:08.904 2451307==
15+
==00:00:00:08.904 2451307==
16+
==00:00:00:08.904 2451307== HEAP SUMMARY:
17+
==00:00:00:08.904 2451307== in use at exit: 0 bytes in 0 blocks
18+
==00:00:00:08.904 2451307== total heap usage: 65 allocs, 65 frees, 97,835 bytes allocated
19+
==00:00:00:08.904 2451307==
20+
==00:00:00:08.904 2451307== All heap blocks were freed -- no leaks are possible
21+
==00:00:00:08.904 2451307==
22+
==00:00:00:08.904 2451307== For lists of detected and suppressed errors, rerun with: -s
23+
==00:00:00:08.904 2451307== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0 2296768 10
1+
0 2451304 10
Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
==00:00:00:00.000 2296737== Memcheck, a memory error detector
2-
==00:00:00:00.000 2296737== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
3-
==00:00:00:00.000 2296737== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
4-
==00:00:00:00.000 2296737== Command: ./server 1502
5-
==00:00:00:00.000 2296737== Parent PID: 2296735
6-
==00:00:00:00.000 2296737==
7-
==00:00:00:09.849 2296737==
8-
==00:00:00:09.849 2296737== FILE DESCRIPTORS: 5 open (3 std) at exit.
9-
==00:00:00:09.849 2296737== Open file descriptor 63:
10-
==00:00:00:09.849 2296737== <inherited from parent>
11-
==00:00:00:09.850 2296737==
12-
==00:00:00:09.850 2296737== Open file descriptor 3: /mnt/62EE36AFEE367B7D/Users/Gabriel/Desktop/University/2024/Taller de Programación 1/TPs/TP2 - Threads/threads-2024c1-gabrieldiem/casos/02_single_player_shoot_read/__server_valgrind__
13-
==00:00:00:09.850 2296737== <inherited from parent>
14-
==00:00:00:09.850 2296737==
15-
==00:00:00:09.850 2296737==
16-
==00:00:00:09.850 2296737== HEAP SUMMARY:
17-
==00:00:00:09.850 2296737== in use at exit: 0 bytes in 0 blocks
18-
==00:00:00:09.850 2296737== total heap usage: 100 allocs, 100 frees, 90,729 bytes allocated
19-
==00:00:00:09.850 2296737==
20-
==00:00:00:09.850 2296737== All heap blocks were freed -- no leaks are possible
21-
==00:00:00:09.850 2296737==
22-
==00:00:00:09.850 2296737== For lists of detected and suppressed errors, rerun with: -s
23-
==00:00:00:09.850 2296737== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
1+
==00:00:00:00.000 2451263== Memcheck, a memory error detector
2+
==00:00:00:00.000 2451263== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
3+
==00:00:00:00.000 2451263== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
4+
==00:00:00:00.000 2451263== Command: ./server 1502
5+
==00:00:00:00.000 2451263== Parent PID: 2451261
6+
==00:00:00:00.000 2451263==
7+
==00:00:00:09.841 2451263==
8+
==00:00:00:09.841 2451263== FILE DESCRIPTORS: 5 open (3 std) at exit.
9+
==00:00:00:09.841 2451263== Open file descriptor 63:
10+
==00:00:00:09.842 2451263== <inherited from parent>
11+
==00:00:00:09.842 2451263==
12+
==00:00:00:09.842 2451263== Open file descriptor 3: /mnt/62EE36AFEE367B7D/Users/Gabriel/Desktop/University/2024/Taller de Programación 1/TPs/TP2 - Threads/threads-2024c1-gabrieldiem/casos/02_single_player_shoot_read/__server_valgrind__
13+
==00:00:00:09.842 2451263== <inherited from parent>
14+
==00:00:00:09.842 2451263==
15+
==00:00:00:09.842 2451263==
16+
==00:00:00:09.842 2451263== HEAP SUMMARY:
17+
==00:00:00:09.842 2451263== in use at exit: 0 bytes in 0 blocks
18+
==00:00:00:09.842 2451263== total heap usage: 164 allocs, 164 frees, 105,720 bytes allocated
19+
==00:00:00:09.842 2451263==
20+
==00:00:00:09.842 2451263== All heap blocks were freed -- no leaks are possible
21+
==00:00:00:09.842 2451263==
22+
==00:00:00:09.842 2451263== For lists of detected and suppressed errors, rerun with: -s
23+
==00:00:00:09.842 2451263== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,23 @@
1-
==00:00:00:00.000 2296959== Memcheck, a memory error detector
2-
==00:00:00:00.000 2296959== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
3-
==00:00:00:00.000 2296959== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
4-
==00:00:00:00.000 2296959== Command: ./client 127.0.0.1 1505
5-
==00:00:00:00.000 2296959== Parent PID: 2296956
6-
==00:00:00:00.000 2296959==
7-
==00:00:00:22.118 2296959==
8-
==00:00:00:22.118 2296959== FILE DESCRIPTORS: 5 open (3 std) at exit.
9-
==00:00:00:22.118 2296959== Open file descriptor 63:
10-
==00:00:00:22.118 2296959== <inherited from parent>
11-
==00:00:00:22.118 2296959==
12-
==00:00:00:22.118 2296959== Open file descriptor 3: /mnt/62EE36AFEE367B7D/Users/Gabriel/Desktop/University/2024/Taller de Programación 1/TPs/TP2 - Threads/threads-2024c1-gabrieldiem/casos/03_three_players_all_read_once/__client_0_valgrind__
13-
==00:00:00:22.118 2296959== <inherited from parent>
14-
==00:00:00:22.118 2296959==
15-
==00:00:00:22.118 2296959==
16-
==00:00:00:22.119 2296959== HEAP SUMMARY:
17-
==00:00:00:22.119 2296959== in use at exit: 0 bytes in 0 blocks
18-
==00:00:00:22.119 2296959== total heap usage: 33 allocs, 33 frees, 83,235 bytes allocated
19-
==00:00:00:22.119 2296959==
20-
==00:00:00:22.119 2296959== All heap blocks were freed -- no leaks are possible
21-
==00:00:00:22.119 2296959==
22-
==00:00:00:22.119 2296959== For lists of detected and suppressed errors, rerun with: -s
23-
==00:00:00:22.119 2296959== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
1+
==00:00:00:00.000 2451435== Memcheck, a memory error detector
2+
==00:00:00:00.000 2451435== Copyright (C) 2002-2022, and GNU GPL'd, by Julian Seward et al.
3+
==00:00:00:00.000 2451435== Using Valgrind-3.20.0 and LibVEX; rerun with -h for copyright info
4+
==00:00:00:00.000 2451435== Command: ./client 127.0.0.1 1505
5+
==00:00:00:00.000 2451435== Parent PID: 2451432
6+
==00:00:00:00.000 2451435==
7+
==00:00:00:22.127 2451435==
8+
==00:00:00:22.127 2451435== FILE DESCRIPTORS: 5 open (3 std) at exit.
9+
==00:00:00:22.127 2451435== Open file descriptor 63:
10+
==00:00:00:22.127 2451435== <inherited from parent>
11+
==00:00:00:22.128 2451435==
12+
==00:00:00:22.128 2451435== Open file descriptor 3: /mnt/62EE36AFEE367B7D/Users/Gabriel/Desktop/University/2024/Taller de Programación 1/TPs/TP2 - Threads/threads-2024c1-gabrieldiem/casos/03_three_players_all_read_once/__client_0_valgrind__
13+
==00:00:00:22.128 2451435== <inherited from parent>
14+
==00:00:00:22.128 2451435==
15+
==00:00:00:22.128 2451435==
16+
==00:00:00:22.128 2451435== HEAP SUMMARY:
17+
==00:00:00:22.128 2451435== in use at exit: 0 bytes in 0 blocks
18+
==00:00:00:22.128 2451435== total heap usage: 49 allocs, 49 frees, 97,314 bytes allocated
19+
==00:00:00:22.128 2451435==
20+
==00:00:00:22.128 2451435== All heap blocks were freed -- no leaks are possible
21+
==00:00:00:22.128 2451435==
22+
==00:00:00:22.128 2451435== For lists of detected and suppressed errors, rerun with: -s
23+
==00:00:00:22.128 2451435== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

0 commit comments

Comments
 (0)