Modified Files:
simgear/structure/SGAtomic.cxx: Plug memory leak originating from wrong atomic fallback operations.
This commit is contained in:
@@ -39,7 +39,7 @@ unsigned __sync_sub_and_fetch_4(volatile void *ptr, unsigned value)
|
||||
: "=r" (result), "=m" (*mem)
|
||||
: "0" (-value), "m" (*mem)
|
||||
: "memory");
|
||||
return result;
|
||||
return result - value;
|
||||
}
|
||||
|
||||
unsigned __sync_add_and_fetch_4(volatile void *ptr, unsigned value)
|
||||
@@ -50,7 +50,7 @@ unsigned __sync_add_and_fetch_4(volatile void *ptr, unsigned value)
|
||||
: "=r" (result), "=m" (*mem)
|
||||
: "0" (value), "m" (*mem)
|
||||
: "memory");
|
||||
return result;
|
||||
return result + value;
|
||||
}
|
||||
|
||||
void __sync_synchronize()
|
||||
|
||||
Reference in New Issue
Block a user