Click here to Skip to main content
15,890,609 members
Home / Discussions / C#
   

C#

 
AnswerRe: Colour clicker Pin
Muammar©8-Nov-08 23:59
Muammar©8-Nov-08 23:59 
QuestionClosing sockets in asynchronous TCP server Pin
Metal767-Nov-08 22:42
Metal767-Nov-08 22:42 
AnswerRe: Closing sockets in asynchronous TCP server Pin
Nicholas Butler8-Nov-08 1:01
sitebuilderNicholas Butler8-Nov-08 1:01 
GeneralRe: Closing sockets in asynchronous TCP server Pin
Metal768-Nov-08 1:10
Metal768-Nov-08 1:10 
GeneralRe: Closing sockets in asynchronous TCP server Pin
Nicholas Butler8-Nov-08 2:39
sitebuilderNicholas Butler8-Nov-08 2:39 
GeneralRe: Closing sockets in asynchronous TCP server Pin
Metal768-Nov-08 23:16
Metal768-Nov-08 23:16 
GeneralRe: Closing sockets in asynchronous TCP server Pin
Nicholas Butler9-Nov-08 3:41
sitebuilderNicholas Butler9-Nov-08 3:41 
AnswerRe: Closing sockets in asynchronous TCP server Pin
Mark Salsbery9-Nov-08 7:46
Mark Salsbery9-Nov-08 7:46 
I chose a simpler approach than locks.

I keep a queuedIO count incremented for every "Beginxxx" call.

In the async callback delegates, the queuedIO count is decremented.

When the listener/socket is shutdown, all the pending IO completions
fail (as they should) throwing an exception on the "Endxxxx" calls
in the async callback delegate. I catch the expected exception and do
nothing in the exception handler. queuedIO count is still decremented.

The shutdown code waits for the queuedIO count to reach 0 before proceeeding.

The only lock required is on the queuedIO count variable, for which I use Interlocked
increments and decrements to insure atomic access. Thread.VolatileRead is used
to read the count while waiting for it to reach 0.

Works good for me Smile | :)

Mark

Mark Salsbery
Microsoft MVP - Visual C++

Java | [Coffee]

GeneralRe: Closing sockets in asynchronous TCP server Pin
Metal769-Nov-08 9:09
Metal769-Nov-08 9:09 
GeneralRe: Closing sockets in asynchronous TCP server Pin
Mark Salsbery9-Nov-08 9:43
Mark Salsbery9-Nov-08 9:43 
QuestionCan i run windows application in Linux ? Pin
Krishnraj7-Nov-08 22:15
Krishnraj7-Nov-08 22:15 
AnswerRe: Can i run windows application in Linux ? Pin
Perspx7-Nov-08 22:33
Perspx7-Nov-08 22:33 
AnswerRe: Can i run windows application in Linux ? Pin
#realJSOP7-Nov-08 23:56
mve#realJSOP7-Nov-08 23:56 
GeneralRe: Can i run windows application in Linux ? Pin
Krishnraj1-Dec-08 1:46
Krishnraj1-Dec-08 1:46 
AnswerRe: Can i run windows application in Linux ? Pin
Dave Kreskowiak8-Nov-08 5:56
mveDave Kreskowiak8-Nov-08 5:56 
AnswerRe: Can i run windows application in Linux ? Pin
Atif Shahbaz8-Nov-08 6:11
Atif Shahbaz8-Nov-08 6:11 
AnswerRe: Can i run windows application in Linux ? Pin
Paul Conrad8-Nov-08 13:05
professionalPaul Conrad8-Nov-08 13:05 
QuestionAccess to soap WebServer without "Add Web Reference" Option Pin
Patricio Tapia7-Nov-08 22:01
Patricio Tapia7-Nov-08 22:01 
AnswerRe: Access to soap WebServer without "Add Web Reference" Option Pin
Wendelius8-Nov-08 1:05
mentorWendelius8-Nov-08 1:05 
QuestionBackgroundWorker and command line exe: what DoWork deals with? Pin
LordZoster7-Nov-08 20:52
LordZoster7-Nov-08 20:52 
AnswerRe: BackgroundWorker and command line exe: what DoWork deals with? Pin
#realJSOP7-Nov-08 23:58
mve#realJSOP7-Nov-08 23:58 
AnswerRe: BackgroundWorker and command line exe: what DoWork deals with? Pin
Giorgi Dalakishvili8-Nov-08 0:56
mentorGiorgi Dalakishvili8-Nov-08 0:56 
GeneralRe: BackgroundWorker and command line exe: what DoWork deals with? Pin
#realJSOP8-Nov-08 1:59
mve#realJSOP8-Nov-08 1:59 
GeneralRe: BackgroundWorker and command line exe: what DoWork deals with? Pin
LordZoster8-Nov-08 5:42
LordZoster8-Nov-08 5:42 
GeneralRe: BackgroundWorker and command line exe: what DoWork deals with? Pin
Dave Kreskowiak8-Nov-08 5:52
mveDave Kreskowiak8-Nov-08 5:52 

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.