Welcome to Tech Support Forum home to more then 136,000 problems solved. Issues have included: Spyware, Malware, Virus Issues, Windows, Microsoft, Linux, Networking, Security, Hardware, and Gaming Getting your problem solved is as easy as:
1. Registering for a free account
2. Asking your question
3. Receiving an answer

Registered members:
* Get free support
* Communicate privately with other members (PM).
* Removal of this message
* See fewer ads.
* And much more..

 



Want to know how to post a question? click here Having problems with spyware and pop-ups? First Steps
Go Back   Tech Support Forum > The IT Pro > Programming
User Name
Password
Site Map Register Donate Rules Blogs Mark Forums Read


Programming A discussion forum for programs and programming used in tech-related businesses.

Reply
 
LinkBack Thread Tools
Old 10-28-2009, 03:56 AM   #1 (permalink)
Registered User
 
Join Date: Oct 2009
Posts: 2
OS: Windows XP


Creating Thread pool using ACE Programming

I created a simple thread pool using ACE classes. The code is provided below. It breaks.

//===========================================================
// Sample Thread Pool
//
//===========================================================

#include "ace/OS_main.h"
#include "ace/Task.h"
#include <iostream>

using namespace std;

class HA_CommandHandler:
public ACE_Task<ACE_MT_SYNCH>
{
public:
virtual int svc()
{
cout << "Starting" << endl;
ACE_DEBUG((LM_DEBUG, "(%t) starting up \n"));
ACE_Message_Block *mb;
int result = this->getq(mb);
//... do something with the message.
return 0;
}

};

int main(int argc, char *argv[])
{
cout << "In Main" << endl;
printf("In Main");
cout.flush();

HA_CommandHandler handler;
handler.activate( THR_NEW_LWP | THR_JOINABLE, 4);
create 4 threads
handler.wait();
return 0;
}

--------------------------------------------------------------------------

The moment I create an object of HA_CommandHandler in main, I can't print any output.

cout << "In Main" << endl; doesn't print.


There are no compiler issues

$ make
make[1]: Entering directory `/cygdrive/c/ACE-5.7.0/ACE_wrappers/tests/SThreadPool'

GNUmakefile: /cygdrive/c/ACE-5.7.0/ACE_wrappers/tests/SThreadPool/GNUmakefile.sThreadPool MA
KEFLAGS=w

g++ -Wpointer-arith -mthreads -mtune=pentiumpro -O3 -g -pipe -pipe -I/cygdrive/c/ACE-5.
7.0/ACE_wrappers -DACE_HAS_EXCEPTIONS -DACE_NO_INLINE -I.. -c -o .obj/sThreadPool.o sThread
Pool.cpp
g++ -Wpointer-arith -mthreads -mtune=pentiumpro -O3 -g -pipe -pipe -I/cygdrive/c/ACE-5.
7.0/ACE_wrappers -DACE_HAS_EXCEPTIONS -DACE_NO_INLINE -I.. -Wl,--enable-auto-import -Wl,-E
-L/cygdrive/c/ACE-5.7.0/ACE_wrappers/lib -L. -L../lib -o sThreadPool.exe .obj/sThreadPool.o
-lACE
make[1]: Leaving directory `/cygdrive/c/ACE-5.7.0/ACE_wrappers/tests/SThreadPool'

sathaval@HYDB1L2-039 /cygdrive/c/ACE-5.7.0/ACE_wrappers/tests/SThreadPool
$ ./sThreadPool.exe

The program works fine when I comment the object creation.

/*HA_CommandHandler handler;
handler.activate( THR_NEW_LWP | THR_JOINABLE, 4);
create 4 threads
handler.wait();*/

------------------------------------------------------------------------

$ make
make[1]: Entering directory `/cygdrive/c/ACE-5.7.0/ACE_wrappers/tests/SThreadPool'

GNUmakefile: /cygdrive/c/ACE-5.7.0/ACE_wrappers/tests/SThreadPool/GNUmakefile.sThreadPool MA
KEFLAGS=w

g++ -Wpointer-arith -mthreads -mtune=pentiumpro -O3 -g -pipe -pipe -I/cygdrive/c/ACE-5.
7.0/ACE_wrappers -DACE_HAS_EXCEPTIONS -DACE_NO_INLINE -I.. -c -o .obj/sThreadPool.o sThread
Pool.cpp
g++ -Wpointer-arith -mthreads -mtune=pentiumpro -O3 -g -pipe -pipe -I/cygdrive/c/ACE-5.
7.0/ACE_wrappers -DACE_HAS_EXCEPTIONS -DACE_NO_INLINE -I.. -Wl,--enable-auto-import -Wl,-E
-L/cygdrive/c/ACE-5.7.0/ACE_wrappers/lib -L. -L../lib -o sThreadPool.exe .obj/sThreadPool.o
-lACE
make[1]: Leaving directory `/cygdrive/c/ACE-5.7.0/ACE_wrappers/tests/SThreadPool'

sathaval@HYDB1L2-039 /cygdrive/c/ACE-5.7.0/ACE_wrappers/tests/SThreadPool
$ ./sThreadPool.exe
In Main
In Main

--------------------------------------------------------------------------
sathavale is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!
Reply With Quote
Important Information
Join the #1 Tech Support Forum Today - It's Totally Free!

TechSupportForum.com is a leading support website for your computer needs. We offer free, friendly and personalized computer support. Why pay to have your computer fixed when you can do it for free.

Join TechSupportforum.com Today - Click Here

Old 10-28-2009, 04:30 AM   #2 (permalink)
Registered User
 
Join Date: Oct 2009
Posts: 2
OS: Windows XP


Re: Creating Thread pool using ACE Programming

I can't think of a reason why this should break!! Can one of you help me out please?
sathavale is offline  
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!Reddit!
Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off




All times are GMT -7. The time now is 09:13 AM.



Copyright 2001 - 2009, Tech Support Forum
Home Tips Plus | Outdoor Basecamp | Automotive Support Forum

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85