Racing Condition

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,


Let's say I have 2 threads trying to call the function below without any synchronization:

void func(int x) {
    static char buffer[512];
    sprintf(buffer, "%d\n", x);
    printf(buffer);
}

since buffer is static, and so obviously in some cases, there will be 2 threads trying to write to buffer, 1 writing to buffer and another reading from it, or 2 reading from it.

Since it is just an array of char, besides content/stdout might not be what the callers should be expecting; will it cause the program to crash.

Thanks in advance.


Cheers,
Hei




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux