Closed Bug 267254 Opened 20 years ago Closed 20 years ago

need PRIOVec that matches OS capabilities

Categories

(NSPR :: NSPR, enhancement)

Sun
SunOS
enhancement
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: julien.pierre, Assigned: wtc)

Details

In some 64-bit operating systems, iov_len in iovec is a 64-bit quantity.
The PRIOVec/ PR_WriteV combination does not allow using 64-bit quantities in IO
vectors because iov_len is defined as "int" within PRIOVec.

We can't change PRIOVec and PR_WriteV for binary compatibility reasons.

I propose that we implement a new function which takes an iovec that matches th
OS underneath. I would propose to define PRIOVecNative and PR_WriteVNative .

This is needed for one of our applications which uses its own NSPR I/O layer,
but has a writev API of its own that takes a native iovec, which has length that
may be larger than the PRIOVec.

Without this NSPR enhancement, the application would have to screen the PRIOVec
in its layer for >int iov_len sizes, and either fail or split the data into
multiple writes.
This is actually not a good idea. We should provide a platform-independent
interface. We should just migrate to 64-bit size in IOVec when it is needed.
Resolving this WONTFIX.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.