diff options
| author | Bryan Cantrill <bryan@joyent.com> | 2015-02-14 16:55:35 -0800 |
|---|---|---|
| committer | Robert Mustacchi <rm@joyent.com> | 2015-10-16 11:59:14 -0700 |
| commit | a5eb7107f06a6e23e8e77e8d3a84c1ff90a73ac6 (patch) | |
| tree | 70fac1fa3fb719f5145ff6db721af2c343faa4f2 /usr/src/uts/common/io/1394 | |
| parent | 7509ca605713ac7f244b0e812b1712dd25f04da1 (diff) | |
| download | illumos-gate-a5eb7107f06a6e23e8e77e8d3a84c1ff90a73ac6.tar.gz | |
5640 want epoll support
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Robert Mustacchi <rm@joyent.com>
Approved by: Garrett D'Amore <garrett@damore.org>
Diffstat (limited to 'usr/src/uts/common/io/1394')
| -rw-r--r-- | usr/src/uts/common/io/1394/targets/av1394/av1394_async.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/usr/src/uts/common/io/1394/targets/av1394/av1394_async.c b/usr/src/uts/common/io/1394/targets/av1394/av1394_async.c index 94323582d6..4a2556177e 100644 --- a/usr/src/uts/common/io/1394/targets/av1394/av1394_async.c +++ b/usr/src/uts/common/io/1394/targets/av1394/av1394_async.c @@ -24,7 +24,9 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" +/* + * Copyright (c) 2014, Joyent, Inc. All rights reserved. + */ /* * av1394 asynchronous module @@ -359,9 +361,10 @@ av1394_async_poll(av1394_inst_t *avp, short events, int anyyet, short *reventsp, AV1394_TNF_ENTER(av1394_async_poll); if (events & POLLIN) { - if (av1394_peekq(rq)) { + if (av1394_peekq(rq)) *reventsp |= POLLIN; - } else if (!anyyet) { + + if ((!*reventsp && !anyyet) || (events & POLLET)) { mutex_enter(&ap->a_mutex); ap->a_pollevents |= POLLIN; *phpp = &ap->a_pollhead; @@ -438,8 +441,8 @@ av1394_async_create_minor_node(av1394_inst_t *avp) int ret; ret = ddi_create_minor_node(avp->av_dip, "async", - S_IFCHR, AV1394_ASYNC_INST2MINOR(avp->av_instance), - DDI_NT_AV_ASYNC, NULL); + S_IFCHR, AV1394_ASYNC_INST2MINOR(avp->av_instance), + DDI_NT_AV_ASYNC, NULL); if (ret != DDI_SUCCESS) { TNF_PROBE_0(av1394_async_create_minor_node_error, AV1394_TNF_ASYNC_ERROR, ""); |
