diff options
Diffstat (limited to 'usr/src/uts/common/fs/proc/prvnops.c')
-rw-r--r-- | usr/src/uts/common/fs/proc/prvnops.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/usr/src/uts/common/fs/proc/prvnops.c b/usr/src/uts/common/fs/proc/prvnops.c index e392ce4b14..b60f938c9b 100644 --- a/usr/src/uts/common/fs/proc/prvnops.c +++ b/usr/src/uts/common/fs/proc/prvnops.c @@ -5939,7 +5939,11 @@ prpoll(vnode_t *vp, short events, int anyyet, short *reventsp, return (0); } - lockstate = pollunlock(); /* avoid deadlock with prnotify() */ + /* avoid deadlock with prnotify() */ + if (pollunlock(&lockstate) != 0) { + *reventsp = POLLNVAL; + return (0); + } if ((error = prlock(pnp, ZNO)) != 0) { pollrelock(lockstate); |