mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 11:55:49 +00:00
Merged minor fixes related to PR_Available and PR_Sync for pipes
in NSPR 3.5.1 onto the main trunk. Modified files: _win95.h, _winnt.h, prfile.c, ntio.c, w95io.c, ptio.c
This commit is contained in:
parent
eccabc0bcd
commit
dd018257b4
@ -245,6 +245,7 @@ extern PRInt32 _MD_CloseSocket(PRInt32 osfd);
|
||||
#define _MD_SOCKET _PR_MD_SOCKET
|
||||
extern PRInt32 _MD_SocketAvailable(PRFileDesc *fd);
|
||||
#define _MD_SOCKETAVAILABLE _MD_SocketAvailable
|
||||
#define _MD_PIPEAVAILABLE _PR_MD_PIPEAVAILABLE
|
||||
#define _MD_CONNECT _PR_MD_CONNECT
|
||||
extern PRInt32 _MD_Accept(PRFileDesc *fd, PRNetAddr *raddr, PRUint32 *rlen,
|
||||
PRIntervalTime timeout);
|
||||
|
@ -247,6 +247,7 @@ extern int _PR_NTFiberSafeSelect(int, fd_set *, fd_set *, fd_set *,
|
||||
const struct timeval *);
|
||||
#define _MD_FSYNC _PR_MD_FSYNC
|
||||
#define _MD_SOCKETAVAILABLE _PR_MD_SOCKETAVAILABLE
|
||||
#define _MD_PIPEAVAILABLE _PR_MD_PIPEAVAILABLE
|
||||
#define _MD_SET_FD_INHERITABLE _PR_MD_SET_FD_INHERITABLE
|
||||
|
||||
#define _MD_INIT_ATOMIC()
|
||||
|
@ -155,7 +155,7 @@ static PRInt64 PR_CALLBACK FileAvailable64(PRFileDesc *fd)
|
||||
return result;
|
||||
}
|
||||
|
||||
#ifndef WIN32
|
||||
#if defined(XP_UNIX) || defined(WIN32)
|
||||
static PRInt32 PR_CALLBACK PipeAvailable(PRFileDesc *fd)
|
||||
{
|
||||
PRInt32 rv;
|
||||
@ -169,8 +169,31 @@ static PRInt64 PR_CALLBACK PipeAvailable64(PRFileDesc *fd)
|
||||
LL_I2L(rv, _PR_MD_PIPEAVAILABLE(fd));
|
||||
return rv;
|
||||
}
|
||||
#else
|
||||
static PRInt32 PR_CALLBACK PipeAvailable(PRFileDesc *fd)
|
||||
{
|
||||
PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
static PRInt64 PR_CALLBACK PipeAvailable64(PRFileDesc *fd)
|
||||
{
|
||||
PRInt64 rv;
|
||||
LL_I2L(rv, -1);
|
||||
PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0);
|
||||
return rv;
|
||||
}
|
||||
#endif
|
||||
|
||||
static PRStatus PR_CALLBACK PipeSync(PRFileDesc *fd)
|
||||
{
|
||||
#if defined(XP_MAC)
|
||||
#pragma unused (fd)
|
||||
#endif
|
||||
|
||||
return PR_SUCCESS;
|
||||
}
|
||||
|
||||
static PRStatus PR_CALLBACK FileInfo(PRFileDesc *fd, PRFileInfo *info)
|
||||
{
|
||||
PRInt32 rv;
|
||||
@ -283,14 +306,9 @@ static PRIOMethods _pr_pipeMethods = {
|
||||
FileClose,
|
||||
FileRead,
|
||||
FileWrite,
|
||||
#ifdef WIN32
|
||||
FileAvailable,
|
||||
FileAvailable64,
|
||||
#else
|
||||
PipeAvailable,
|
||||
PipeAvailable64,
|
||||
#endif
|
||||
FileSync,
|
||||
PipeSync,
|
||||
(PRSeekFN)_PR_InvalidInt,
|
||||
(PRSeek64FN)_PR_InvalidInt64,
|
||||
(PRFileInfoFN)_PR_InvalidStatus,
|
||||
@ -322,6 +340,11 @@ static PRIOMethods _pr_pipeMethods = {
|
||||
(PRReservedFN)_PR_InvalidInt
|
||||
};
|
||||
|
||||
PR_IMPLEMENT(const PRIOMethods*) PR_GetPipeMethods(void)
|
||||
{
|
||||
return &_pr_pipeMethods;
|
||||
}
|
||||
|
||||
PR_IMPLEMENT(PRFileDesc*) PR_Open(const char *name, PRIntn flags, PRIntn mode)
|
||||
{
|
||||
PRInt32 osfd;
|
||||
|
@ -2475,6 +2475,16 @@ _PR_MD_SOCKETAVAILABLE(PRFileDesc *fd)
|
||||
return result;
|
||||
}
|
||||
|
||||
PRInt32
|
||||
_PR_MD_PIPEAVAILABLE(PRFileDesc *fd)
|
||||
{
|
||||
if (NULL == fd)
|
||||
PR_SetError(PR_BAD_DESCRIPTOR_ERROR, 0);
|
||||
else
|
||||
PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0);
|
||||
return -1;
|
||||
}
|
||||
|
||||
PROffset32
|
||||
_PR_MD_LSEEK(PRFileDesc *fd, PROffset32 offset, int whence)
|
||||
{
|
||||
|
@ -923,3 +923,12 @@ _PR_MD_UNLOCKFILE(PRInt32 f)
|
||||
}
|
||||
} /* end _PR_MD_UNLOCKFILE() */
|
||||
|
||||
PRInt32
|
||||
_PR_MD_PIPEAVAILABLE(PRFileDesc *fd)
|
||||
{
|
||||
if (NULL == fd)
|
||||
PR_SetError(PR_BAD_DESCRIPTOR_ERROR, 0);
|
||||
else
|
||||
PR_SetError(PR_NOT_IMPLEMENTED_ERROR, 0);
|
||||
return -1;
|
||||
}
|
||||
|
@ -2915,7 +2915,7 @@ static PRIOMethods _pr_pipe_methods = {
|
||||
pt_Write,
|
||||
pt_Available_s,
|
||||
pt_Available64_s,
|
||||
pt_Fsync,
|
||||
pt_Synch,
|
||||
(PRSeekFN)_PR_InvalidInt,
|
||||
(PRSeek64FN)_PR_InvalidInt64,
|
||||
(PRFileInfoFN)_PR_InvalidStatus,
|
||||
@ -3133,7 +3133,7 @@ PR_IMPLEMENT(const PRIOMethods*) PR_GetFileMethods()
|
||||
PR_IMPLEMENT(const PRIOMethods*) PR_GetPipeMethods()
|
||||
{
|
||||
return &_pr_pipe_methods;
|
||||
} /* PR_GetFileMethods */
|
||||
} /* PR_GetPipeMethods */
|
||||
|
||||
PR_IMPLEMENT(const PRIOMethods*) PR_GetTCPMethods()
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user