Boost logo

Boost :

From: Johan Nilsson (johan.nilsson_at_[hidden])
Date: 2005-03-15 08:04:48


Hi,

I was browsing the website for Boost.Thread 1.32 updates and became
somewhat confused. This is just the few items I noticed during a quick
browse.

1. The library isn't mentioned along with other updated libraries on the
start page.

2. Quote from 'Design/The Next Phase': "The next phase will address more
advanced synchronization concepts, such as read/write mutexes and
barriers.". I guess this is just one of the mentioned "remaining
inconsistencies" from the release notes.

3. In the release notes it is also stated that recursive_mutex is now
implemented using a critical section under Win32. AFAIK this was already the
case with 1.31 (or perhaps even earlier?).

I also glanced a bit at the recursive_mutex implementation under Win32 and
it looks a bit weird to me (this is just an extract):

--- recursive_mutex.cpp ---
...
recursive_mutex::recursive_mutex()
    : m_mutex(0)
    , m_critical_section(false)
    , m_count(0)
{
    m_critical_section = true;
    if (m_critical_section)
        m_mutex = new_critical_section();
    else
        m_mutex = new_mutex(0);
}

recursive_mutex::~recursive_mutex()
{
    if (m_critical_section)
        delete_critical_section(m_mutex);
    else
        delete_mutex(m_mutex);
}
...

The if/else clause exists in virtually all methods even though there is no
way to affect it from client code. Is this some kind of preparation for
future improvements, just some cut and paste from recursive_try_mutex, or
...?

5. Last (but not least): Why aren't the more recent contributors mentioned a
bit more up-front in the documentation - I think they deserve a lot
more credit than this?

// Johan


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk