Merge remote branch 'origin/modesetting-101' into modesetting-gem
authorDave Airlie <airlied@linux.ie>
Fri, 25 Jul 2008 22:46:38 +0000 (08:46 +1000)
committerDave Airlie <airlied@linux.ie>
Fri, 25 Jul 2008 22:46:38 +0000 (08:46 +1000)
1  2 
linux-core/drm_lock.c

diff --combined linux-core/drm_lock.c
@@@ -107,14 -107,19 +107,19 @@@ int drm_lock(struct drm_device *dev, vo
                  ret ? "interrupted" : "has lock");
        if (ret) return ret;
  
-       sigemptyset(&dev->sigmask);
-       sigaddset(&dev->sigmask, SIGSTOP);
-       sigaddset(&dev->sigmask, SIGTSTP);
-       sigaddset(&dev->sigmask, SIGTTIN);
-       sigaddset(&dev->sigmask, SIGTTOU);
-       dev->sigdata.context = lock->context;
-       dev->sigdata.lock = master->lock.hw_lock;
-       block_all_signals(drm_notifier, &dev->sigdata, &dev->sigmask);
+       /* don't set the block all signals on the master process for now 
+        * really probably not the correct answer but lets us debug xkb
+        * xserver for now */
+       if (!file_priv->is_master) {
+               sigemptyset(&dev->sigmask);
+               sigaddset(&dev->sigmask, SIGSTOP);
+               sigaddset(&dev->sigmask, SIGTSTP);
+               sigaddset(&dev->sigmask, SIGTTIN);
+               sigaddset(&dev->sigmask, SIGTTOU);
+               dev->sigdata.context = lock->context;
+               dev->sigdata.lock = master->lock.hw_lock;
+               block_all_signals(drm_notifier, &dev->sigdata, &dev->sigmask);
+       }
  
        if (dev->driver->dma_ready && (lock->flags & _DRM_LOCK_READY))
                dev->driver->dma_ready(dev);
@@@ -384,6 -389,7 +389,6 @@@ void drm_idlelock_release(struct drm_lo
  }
  EXPORT_SYMBOL(drm_idlelock_release);
  
 -
  int drm_i_have_hw_lock(struct drm_device *dev, struct drm_file *file_priv)
  {
        struct drm_master *master = file_priv->master;