Joseph Ogbonna
Joseph Ogbonna
DIIDevHeads IoT Integration Server
Created by Marvee Amasi on 4/10/2024 in #middleware-and-os
Segmentation Fault Error in Concurrent Sensor Data Processing Simulation: What's the Issue?
Seems like your
pthread_create()
pthread_create()
does not receive the correct argument, which should be the address of the SensorData struct, not the address of the value field within the struct. This part of your code :
rc = pthread_create(&sensor_threads[t], NULL, sensor_task, (void *)&sensor_data[t].value);
rc = pthread_create(&sensor_threads[t], NULL, sensor_task, (void *)&sensor_data[t].value);
Change it to pass the address of the SensorData struct instead:
rc = pthread_create(&sensor_threads[t], NULL, sensor_task, (void *)&sensor_data[t]);
rc = pthread_create(&sensor_threads[t], NULL, sensor_task, (void *)&sensor_data[t]);
4 replies