grr...

considering this:

#define MEXT_IS_REF(m) ((m)->m_ext.ref_cnt->refcnt > 1)

#define MEXT_REM_REF(m) do {                        \
    KASSERT((m)->m_ext.ref_cnt->refcnt > 0, ("m_ext refcnt < 0"));  \
    atomic_subtract_long(&((m)->m_ext.ref_cnt->refcnt), 1);     \
} while(0)

this:

#define MEXTFREE(m) do {                        \
    struct mbuf *_mmm = (m);                    \
                                    \
    if (MEXT_IS_REF(_mmm))                      \
        MEXT_REM_REF(_mmm);                 \

 
is not mpsafe.  we _NEED_ some type that allows atomic dec and test
for 0.

thanks,
-Alfred


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message

Reply via email to