Boost logo

Boost Users :

From: janardhan.guptha_at_[hidden]
Date: 2004-02-10 06:43:29

I am creating a boost thread, how to know in which state it is created.
I have a code snippet that is waiting always in the thread creatin functon
istelf. Where as i tried with some boost samples, they are working amazingly
perfect. This is how my code snippet looks like

typedef boost::mutex::scoped_lock lock;
class testCommand {
        static void threadfunc() {
                testCommand *testObj = mMapCommand[mObjID];

        static map< int mObjID, testCommand*> mMapCommand;
        void createthread() {
                mThread = new boost::thread(&testCommand::threadfunc);
        void processthread() {
                lock lk(mMutex);
                //// Some Action

        void runthread() {
                lock lk(mMutex);

        static int mObjID;
        boost::thread *mThread;
        boost::condition mCondition;
        boost::mutex mMutex;

The newly created thread is waiting at the following location forever, by
the time
i get a chance to execute the new thread is greatly delayed.

NTDLL! 77f8856e()
boost::detail::thread::lock_ops<boost::mutex>::unlock(boost::mutex & {...})
line 49
boost::detail::thread::scoped_lock<boost::mutex>::unlock() line 85 + 11
() line 74
`anonymous namespace'::thread_param::started() line 47 + 15 bytes
thread_proxy(void * 0x0012fd74) line 71
_threadstartex(void * 0x00961040) line 212 + 13 bytes
KERNEL32! 7c57b382()

It sounds like i am missing something here. The queries here are
1. why it is waiting at the above specified line forever ?
2. Where can i get few worth thread samples done using boost::thread



Boost-users list run by williamkempf at, kalb at, bjorn.karlsson at, gregod at, wekempf at