Boost logo

Boost :

From: Pete (pete_at_[hidden])
Date: 2003-12-17 14:52:52

Running the following bit of code under WinXPPro prints:

Acquired first lock on mtxTest
Acquired second lock on mtxTest

and exits.

Under Linux RH9, it prints:

Acquired first lock on mtxTest

and deadlocks.

To me, the Linux behaviour makes perfect sense. Why doesn't it behave in the
same way under Windows?

#include <boost/thread/thread.hpp>
#include <iostream.h>

int main(int argc, char * argv[])
  boost::mutex mtxTest;

  // Initialise a scope to test scoped locking
    boost::mutex::scoped_lock lock1(mtxTest);
    cout << "Acquired first lock on mtxTest" << endl;

    boost::mutex::scoped_lock lock2(mtxTest);
    cout << "Acquired second lock on mtxTest" << endl;
  return 0;

Boost list run by bdawes at, gregod at, cpdaniel at, john at