This series fixes the race condition we have on startup. Patch 3/4 describes
the exact sequence so I'll skip this here. In short, the problem is that
because we share the fd between several tools, we may get events for tools
that haven't been initialised yet. This can cause NULL-pointer dereferences.

I'd prefer if someone could test this on server 1.7 - 1.9, because I'm not
sure if the UnInit still works now. On 1.10 we would crash because patch 2/4
changes the device order but it doesn't matter since we can leave the UnInit
to the server now anyway. So a simple ifdef in patch 1/4 fixes that crash
without negative side-effects.

Testing if a race-condition has disappeared is near-impossible (how do you
prove that something does not exist? :) so I really recommend doing the gdb
trick described in 3/4 to trigger the crash before and after applying the
patchset.

Cheers,
  Peter

------------------------------------------------------------------------------
Free Software Download: Index, Search & Analyze Logs and other IT data in 
Real-Time with Splunk. Collect, index and harness all the fast moving IT data 
generated by your applications, servers and devices whether physical, virtual
or in the cloud. Deliver compliance at lower cost and gain new business 
insights. http://p.sf.net/sfu/splunk-dev2dev 
_______________________________________________
Linuxwacom-devel mailing list
Linuxwacom-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel

Reply via email to