Click here to Skip to main content
15,889,860 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
QuestionFile Pin
Tran Ngoc Minh27-Apr-07 17:31
Tran Ngoc Minh27-Apr-07 17:31 
AnswerRe: File Pin
Hamid_RT27-Apr-07 18:45
Hamid_RT27-Apr-07 18:45 
AnswerRe: File Pin
vivekphlp27-Apr-07 18:52
vivekphlp27-Apr-07 18:52 
QuestionQuestion about Interlocked functions Pin
HOW WHAT27-Apr-07 17:29
HOW WHAT27-Apr-07 17:29 
AnswerRe: Question about Interlocked functions Pin
Arman S.27-Apr-07 22:49
Arman S.27-Apr-07 22:49 
AnswerRe: Question about Interlocked functions Pin
cmk28-Apr-07 13:23
cmk28-Apr-07 13:23 
GeneralRe: Question about Interlocked functions Pin
HOW WHAT28-Apr-07 14:47
HOW WHAT28-Apr-07 14:47 
GeneralRe: Question about Interlocked functions Pin
cmk28-Apr-07 15:20
cmk28-Apr-07 15:20 
HOW WHAT wrote:
void Release ( void ) { lock = 0; }
why not use:
InterlockedExchange(&lock, 0);


http://msdn2.microsoft.com/en-us/library/ms684122.aspx[^]
Simple reads and writes to properly-aligned 32-bit variables are atomic operations.

So, lock = 0; is atomic.
InterlockedExchange will generate a full memory barrier

http://msdn2.microsoft.com/en-us/library/12a04hfd(VS.80).aspx[^]
A write to a volatile object (volatile write) has Release semantics ... This allows volatile objects to be used for memory locks and releases in multithreaded applications.

For an explaination of full memory barrier and release semantics read:
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/linux/bks/SGI_Developer/books/LX_DevDriver_PG/sgi_html/apa.html[^]

...cmk

Save the whales - collect the whole set

GeneralRe: Question about Interlocked functions Pin
HOW WHAT28-Apr-07 22:21
HOW WHAT28-Apr-07 22:21 
GeneralRe: Question about Interlocked functions Pin
cmk29-Apr-07 0:14
cmk29-Apr-07 0:14 
GeneralRe: Question about Interlocked functions Pin
HOW WHAT29-Apr-07 4:33
HOW WHAT29-Apr-07 4:33 
GeneralRe: Question about Interlocked functions Pin
cmk29-Apr-07 9:13
cmk29-Apr-07 9:13 
GeneralRe: Question about Interlocked functions Pin
HOW WHAT29-Apr-07 20:05
HOW WHAT29-Apr-07 20:05 
GeneralRe: Question about Interlocked functions Pin
HOW WHAT28-Apr-07 22:48
HOW WHAT28-Apr-07 22:48 
GeneralRe: Question about Interlocked functions Pin
cmk29-Apr-07 0:01
cmk29-Apr-07 0:01 
GeneralRe: Question about Interlocked functions Pin
HOW WHAT29-Apr-07 2:49
HOW WHAT29-Apr-07 2:49 
GeneralRe: Question about Interlocked functions Pin
cmk29-Apr-07 9:04
cmk29-Apr-07 9:04 
Questionhow to make very large numbers Pin
g3RC4n27-Apr-07 15:43
g3RC4n27-Apr-07 15:43 
AnswerRe: how to make very large numbers Pin
David Crow27-Apr-07 17:02
David Crow27-Apr-07 17:02 
GeneralRe: how to make very large numbers Pin
Rajesh R Subramanian27-Apr-07 19:31
professionalRajesh R Subramanian27-Apr-07 19:31 
GeneralRe: how to make very large numbers Pin
g3RC4n27-Apr-07 23:11
g3RC4n27-Apr-07 23:11 
GeneralRe: how to make very large numbers Pin
cp987628-Apr-07 0:21
cp987628-Apr-07 0:21 
GeneralRe: how to make very large numbers Pin
g3RC4n28-Apr-07 8:48
g3RC4n28-Apr-07 8:48 
QuestionLog in to website Pin
baloneyman27-Apr-07 15:42
baloneyman27-Apr-07 15:42 
QuestionRe: Log in to website Pin
Rajesh R Subramanian27-Apr-07 19:30
professionalRajesh R Subramanian27-Apr-07 19:30 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.