> Having refcount mechanisms doesn't help when the basic
> problem is keeping pointers around after they've become
> invalid (for whatever reason).

It helps with the underlying problem of "when can I reference this". You
always know that answer

o       If someone passed it to me it is safe
o       If I did urb_get() on it when someone passed it to me - it is safe
        until I do a put
o       If I did urb_put() on it and I dont clearly mysel hold another handle
        then Greg will make fun of my diff

All the races reduce to harmless things

        what is its state       always a valid query
        do something to urb     always going to say yes, or sorry can't do
                                right now, or delay

No more random scribbles, mysterious explosions and other mess.

People are struggling to get the drivers right, and we haven't even got to
the full party game of

        "I'm in my completion handler removing the urb while on cpu #2
         the irq handler might be running, cpu 3 someone is closing the
         device, cpu 4 is running a kernel thread oh and someone just 
         hotplugged the cardbus controller the USB is on"

lets face it - nobody is going to be able to work that out without clear 
referencing 8)

Alan
        

_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to