On Fri, Aug 27, 2004 at 12:06:47PM -0700, chromatic wrote:
> It doesn't matter how *you* see Perl threads if users who may run your
> tests see them as worth using

First, as I said, I agree with you "ideally".  I understand all the
points you're making, and they're basically valid.  But the reality is,
there's a trade-off:  By making it more convenient for people using
threads, we increase the probability of bugs for everyone.

Second, you're overblowing the problems with T::B not being thread-safe.
If my tests look like

    use T::B;
    use_ok('Module::Using::Threads');
    ok(M::U::T::function_that_uses_threads);
    ok(M::U::T::function_that_talks_to_threads);
    ...

it doesn't matter if T::B is thread-safe, because all of the calls to
T::B are in a single thread.  I'm not saying you can't write tests that
use T::B from multiple threads, just that most people probably don't.

In other words, it's not like using a threaded perl or even threaded
libraries suddenly requires all code to be thread safe.  Your claim that
my tests may break when run on a threaded perl is mistaken.

Third, it is not outlandish to require people to explicitly ask for
thread-safe behavior.  This is common in the C world.  It's not a good
thing, but it's not a disaster, especially as long as most perl code
doesn't use threads.

Anyway, I accept the decision against me, and hopefully there won't be
any more thread bugs in T::B, so this will never come up again!

Andrew

Reply via email to