OSDN Git Service

Pre-test native window pointer for validity
authorPaul Drews <paul.drews@intel.com>
Wed, 18 Jan 2012 19:01:49 +0000 (11:01 -0800)
committerChih-Wei Huang <cwhuang@linux.org.tw>
Mon, 9 Dec 2013 14:29:08 +0000 (22:29 +0800)
commitfd461118b7a8112bddf1bb8a7dd6e94c86d8f96b
treece36e2df39951726be517bf39886fb03e80db117
parent7969e0461ca5dae014bc5fb0d48dfb710b6fce1c
Pre-test native window pointer for validity

This fixes a segfault in the oglconform tests when running
the test:

  adb shell /data/app/oglconform -v 4 -minFmt -es -test egl-basic negative.drawables.winSurfBadWin

According the the egl specification this should return
EGL_BAD_NATIVE_WINDOW.  The segfault was resulting from the
fact that the window handle is a (cast to opaque) pointer,
and there are not straightforward ways of pre-testing a
pointer for validity.  The fix implemented here is:

  () Take advantage of the msync() system-call logic to test
     pre-test basic pointer validity
  () Once confirmed that we can reference through the
     pointer, look for the "magic" value dropped in by the
     implementation to mark this type at runtime.

Change-Id: Id7d21c822c8a416e45caba25c63d7076d1e547a5
Original-Change-Id: I3c8df8ef5ece5c0fa71c47417766b5453c355f8b
Signed-off-by: Russell Webb <russell.webb@intel.com>
Signed-off-by: Paul Drews <paul.drews@intel.com>
opengl/libs/EGL/eglApi.cpp