Click here to Skip to main content
15,922,015 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: Unhandled exception ? Pin
Le@rner21-Oct-08 20:14
Le@rner21-Oct-08 20:14 
GeneralRe: Unhandled exception ? Pin
Mark Salsbery21-Oct-08 20:21
Mark Salsbery21-Oct-08 20:21 
GeneralRe: Unhandled exception ? Pin
Le@rner21-Oct-08 20:23
Le@rner21-Oct-08 20:23 
QuestionC/C++ question - Function prototype in other function Pin
Adeel Chaudhry21-Oct-08 18:17
Adeel Chaudhry21-Oct-08 18:17 
AnswerRe: C/C++ question - Function prototype in other function Pin
Naveen21-Oct-08 18:47
Naveen21-Oct-08 18:47 
GeneralRe: C/C++ question - Function prototype in other function Pin
Adeel Chaudhry21-Oct-08 19:37
Adeel Chaudhry21-Oct-08 19:37 
GeneralRe: C/C++ question - Function prototype in other function Pin
Naveen21-Oct-08 19:55
Naveen21-Oct-08 19:55 
Questionmac address libraries Pin
anilaabc21-Oct-08 17:26
anilaabc21-Oct-08 17:26 
AnswerRe: mac address libraries Pin
enhzflep21-Oct-08 18:41
enhzflep21-Oct-08 18:41 
QuestionWhat is the difference between c++ structs and c# structs..? Pin
Aslesh21-Oct-08 17:11
Aslesh21-Oct-08 17:11 
AnswerRe: What is the difference between c++ structs and c# structs..? Pin
Naveen21-Oct-08 18:39
Naveen21-Oct-08 18:39 
AnswerRe: What is the difference between c++ structs and c# structs..? Pin
Mark Salsbery21-Oct-08 18:58
Mark Salsbery21-Oct-08 18:58 
QuestionRe: What is the difference between c++ structs and c# structs..? Pin
CPallini21-Oct-08 21:46
mveCPallini21-Oct-08 21:46 
AnswerRe: What is the difference between c++ structs and c# structs..? Pin
Iain Clarke, Warrior Programmer21-Oct-08 22:03
Iain Clarke, Warrior Programmer21-Oct-08 22:03 
GeneralRe: What is the difference between c++ structs and c# structs..? Pin
CPallini21-Oct-08 22:05
mveCPallini21-Oct-08 22:05 
QuestionHelp with code Pin
dtaylor0121-Oct-08 15:46
dtaylor0121-Oct-08 15:46 
AnswerRe: Help with code Pin
Naveen21-Oct-08 16:08
Naveen21-Oct-08 16:08 
AnswerRe: Help with code Pin
CPallini21-Oct-08 21:36
mveCPallini21-Oct-08 21:36 
AnswerRe: Help with code Pin
Iain Clarke, Warrior Programmer21-Oct-08 21:59
Iain Clarke, Warrior Programmer21-Oct-08 21:59 
QuestionLinker options Pin
freeheap21-Oct-08 9:08
freeheap21-Oct-08 9:08 
AnswerRe: Linker options Pin
Perspx21-Oct-08 9:51
Perspx21-Oct-08 9:51 
QuestionNeed help with mutex Pin
auralius manurung21-Oct-08 6:42
auralius manurung21-Oct-08 6:42 
I have this class:
class CPROXY
{
public:
			
	CPROXY(void);
	~CPROXY(void);
	int CreateConnector();
	int CreateAcceptor(int nPort);
	:
	:
        :

private:

	ACE_SOCK_Acceptor	client_acceptor;
	ACE_SOCK_Connector	server_connector;

	std::list <spair*>	queue;
}


Now the implementation is like this:


int CPROXY::ServerThreadRunner()
{
        :
	DWORD thid;
	HANDLE hServerThread = CreateThread(NULL, 0, ServerThread, this, 0, &thid);
	:
        :
}


DWORD WINAPI CPROXY::ServerThread(LPVOID param)
{
	CPROXY *newobj = (CPROXY *)param;

	newobj->CreateConnector();

	return 0;
}

int CPROXY::CreateConnector()
{
	EnterCriticalSection(&guard);
	SPAIR *sPair = queue.front();
	queue.pop_front();
	LeaveCriticalSection(&guard);

	SetEvent(wait_server);
	:
	:
        :


Take a look at queue. Queue is declared as a list of SPAIR. Do you think it is necessary for me to guard it with critical section every time is accessed by a thread?

I mean, before i run the thread i did put it into a newobj, so meaning that every newobj has its own member so no need for me to put critical section to guard it, right?

PLEASE, correct me if I'm wrong! i need to optimize this code.
AnswerRe: Need help with mutex Pin
Mark Salsbery21-Oct-08 6:56
Mark Salsbery21-Oct-08 6:56 
GeneralRe: Need help with mutex Pin
auralius manurung21-Oct-08 10:52
auralius manurung21-Oct-08 10:52 
GeneralRe: Need help with mutex Pin
Mark Salsbery21-Oct-08 11:06
Mark Salsbery21-Oct-08 11:06 

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.