diff options
author | Liang-Heng Chen <xeonchen@mozilla.com> | 2017-03-16 15:30:31 +0100 |
---|---|---|
committer | Liang-Heng Chen <xeonchen@mozilla.com> | 2017-03-16 15:30:31 +0100 |
commit | dda8344bebbcdb9c5084e8f7e74a74362a994c9a (patch) | |
tree | 8240c0a5f1bf6d8a9e7806324ea4a14d3fbc2a52 | |
parent | e57d20e78a8e3cf88dc55a7655ee6fb230ec81e6 (diff) | |
download | nspr-hg-dda8344bebbcdb9c5084e8f7e74a74362a994c9a.tar.gz |
Bug 1313612, enable named pipe proxy support in NSPR, landing WITHOUT review, because parts of it have already been released with Firefox 52 :-( :-(
-rw-r--r-- | pr/include/prio.h | 2 | ||||
-rw-r--r-- | pr/src/md/windows/w32poll.c | 3 | ||||
-rw-r--r-- | pr/src/pthreads/ptio.c | 6 |
3 files changed, 7 insertions, 4 deletions
diff --git a/pr/include/prio.h b/pr/include/prio.h index a9fcf374..18504e5c 100644 --- a/pr/include/prio.h +++ b/pr/include/prio.h @@ -168,7 +168,7 @@ union PRNetAddr { PRIPv6Addr ip; /* the actual 128 bits of address */ PRUint32 scope_id; /* set of interfaces for a scope */ } ipv6; -#if defined(XP_UNIX) || defined(XP_OS2) +#if defined(XP_UNIX) || defined(XP_OS2) || defined(XP_WIN) struct { /* Unix domain socket address */ PRUint16 family; /* address family (AF_UNIX) */ #ifdef XP_OS2 diff --git a/pr/src/md/windows/w32poll.c b/pr/src/md/windows/w32poll.c index 38e2ad97..daf14dfe 100644 --- a/pr/src/md/windows/w32poll.c +++ b/pr/src/md/windows/w32poll.c @@ -155,7 +155,8 @@ PRInt32 _PR_MD_PR_POLL(PRPollDesc *pds, PRIntn npds, PRIntervalTime timeout) pd->out_flags = 0; /* pre-condition */ /* make sure this is an NSPR supported stack */ bottom = PR_GetIdentitiesLayer(pd->fd, PR_NSPR_IO_LAYER); - PR_ASSERT(NULL != bottom); /* what to do about that? */ + /* ignore a socket without PR_NSPR_IO_LAYER available */ + if ((NULL != bottom) && (_PR_FILEDESC_OPEN == bottom->secret->state)) { diff --git a/pr/src/pthreads/ptio.c b/pr/src/pthreads/ptio.c index a5c19761..2c7be9cd 100644 --- a/pr/src/pthreads/ptio.c +++ b/pr/src/pthreads/ptio.c @@ -3856,7 +3856,8 @@ static PRInt32 _pr_poll_with_poll( /* now locate the NSPR layer at the bottom of the stack */ PRFileDesc *bottom = PR_GetIdentitiesLayer( pds[index].fd, PR_NSPR_IO_LAYER); - PR_ASSERT(NULL != bottom); /* what to do about that? */ + /* ignore a socket without PR_NSPR_IO_LAYER available */ + pds[index].out_flags = 0; /* pre-condition */ if ((NULL != bottom) && (_PR_FILEDESC_OPEN == bottom->secret->state)) @@ -4114,7 +4115,8 @@ static PRInt32 _pr_poll_with_select( /* now locate the NSPR layer at the bottom of the stack */ PRFileDesc *bottom = PR_GetIdentitiesLayer( pds[index].fd, PR_NSPR_IO_LAYER); - PR_ASSERT(NULL != bottom); /* what to do about that? */ + /* ignore a socket without PR_NSPR_IO_LAYER available */ + pds[index].out_flags = 0; /* pre-condition */ if ((NULL != bottom) && (_PR_FILEDESC_OPEN == bottom->secret->state)) |