# PR_AtomicSet Atomically sets a 32-bit value and return its previous contents. ## Syntax ```{code} #include PRInt32 PR_AtomicSet( PRInt32 *val, PRInt32 newval); ``` ### Parameters The function has the following parameter: `val` : A pointer to the value to be set. `newval` : The new value to assign to the `val` parameter. ### Returns The function returns the prior value of the referenced variable. ## Description {ref}`PR_AtomicSet` first reads the value of var, then updates it with the supplied value. The returned value is the value that was read*before* memory was updated. The memory modification is unconditional--that is, it isn't a test and set operation.