Segmentation fault Posix Threads

Hi,

Below is the code in which i am using a shared variable called common_variables which is a structure.But when i execute the program i get a segmentation fault can anyone point out the mistake?


clustering.c
sriramvemaraju2000Asked:
Who is Participating?
 
evilrixSenior Software Engineer (Avast)Commented:
Well, you have a mutex defined... you don't appear to use it. You almost certainly have a race condition caused by trying to read and write to a global variable from different threads at the same time.
0
 
sriramvemaraju2000Author Commented:
ok.like i have one more doubt. I have pointers in the structure and pointers to pointers.

say
Struct s
{
pointer_var
}instance;

i have declared this as a global variable and all threads use this

if i say instace.pointer_var= /* some memory */

will all the threads be able to point to the same memory address if access from different threads?
0
 
sriramvemaraju2000Author Commented:
why would reading a global variable cause a race condition?
0
Cloud Class® Course: CompTIA Healthcare IT Tech

This course will help prep you to earn the CompTIA Healthcare IT Technician certification showing that you have the knowledge and skills needed to succeed in installing, managing, and troubleshooting IT systems in medical and clinical settings.

 
evilrixSenior Software Engineer (Avast)Commented:
>> why would reading a global variable cause a race condition?
well, your code reads and write - if you try and do both at the same time in different threads without synchronisation you get big boom :)

>> will all the threads be able to point to the same memory address if access from different threads?
Yes, the memory space is process specific not thread specific
0
 
sriramvemaraju2000Author Commented:
Yes it solved my problem.Thanks a lot!
0
 
evilrixSenior Software Engineer (Avast)Commented:
Welcome :)
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.