You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by st...@locus.apache.org on 2000/02/18 19:05:19 UTC

cvs commit: apache-2.0/src/main buff.c

stoddard    00/02/18 10:05:19

  Modified:    src/include ap_iol.h
               src/lib/apr aprlib.def
               src/lib/apr/file_io/win32 readwrite.c
               src/lib/apr/include apr_file_io.h
               src/main buff.c
  Log:
  Pass ap_iovec_t on writev calls.
  
  Revision  Changes    Path
  1.10      +1 -1      apache-2.0/src/include/ap_iol.h
  
  Index: ap_iol.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/include/ap_iol.h,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- ap_iol.h	2000/01/26 05:56:33	1.9
  +++ ap_iol.h	2000/02/18 18:05:15	1.10
  @@ -106,7 +106,7 @@
       ap_status_t (*close)(ap_iol *fd);
       ap_status_t (*write)(ap_iol *fd, const char *buf, ap_size_t len,
                            ap_ssize_t *nbytes);
  -    ap_status_t (*writev)(ap_iol *fd, const struct iovec *vec, int nvec,
  +    ap_status_t (*writev)(ap_iol *fd, const ap_iovec_t *vec, int nvec,
                             ap_ssize_t *nbytes);
       ap_status_t (*read)(ap_iol *fd, char *buf, ap_size_t len,
                           ap_ssize_t *nbytes);
  
  
  
  1.10      +1 -1      apache-2.0/src/lib/apr/aprlib.def
  
  Index: aprlib.def
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/aprlib.def,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- aprlib.def	2000/01/26 05:56:36	1.9
  +++ aprlib.def	2000/02/18 18:05:16	1.10
  @@ -20,7 +20,7 @@
   ;	ap_get_filesize   @12
   ;	ap_get_fileatime   @13
   ;	ap_get_filectime   @14
  -;	ap_get_filemtime   @15
  +	ap_make_iov   @15
   	ap_dupfile   @16
   	ap_getfileinfo   @17
   	ap_open   @18
  
  
  
  1.12      +11 -0     apache-2.0/src/lib/apr/file_io/win32/readwrite.c
  
  Index: readwrite.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/file_io/win32/readwrite.c,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- readwrite.c	2000/02/18 02:53:11	1.11
  +++ readwrite.c	2000/02/18 18:05:17	1.12
  @@ -63,6 +63,17 @@
   
   #define GetFilePointer(hfile) SetFilePointer(hfile,0,NULL, FILE_CURRENT)
   
  +ap_status_t ap_make_iov(struct iovec_t **new, const struct iovec *iova, ap_context_t *cntxt)
  +{
  +    (*new) = ap_palloc(cntxt, sizeof(struct iovec_t));
  +    if ((*new) == NULL) {
  +        return APR_ENOMEM;
  +    }
  +    (*new)->cntxt = cntxt;
  +    (*new)->theiov = iova;
  +    return APR_SUCCESS;
  +}
  +
   ap_status_t ap_read(struct file_t *thefile, void *buf, ap_ssize_t *nbytes)
   {
       DWORD bread;
  
  
  
  1.30      +1 -1      apache-2.0/src/lib/apr/include/apr_file_io.h
  
  Index: apr_file_io.h
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/lib/apr/include/apr_file_io.h,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- apr_file_io.h	2000/02/18 02:53:11	1.29
  +++ apr_file_io.h	2000/02/18 18:05:18	1.30
  @@ -146,7 +146,7 @@
   API_EXPORT(int) ap_fprintf(ap_file_t *fptr, const char *format, ...)
           __attribute__((format(printf,2,3)));
   
  -ap_status_t ap_make_iov(ap_iovec_t **, struct iovec *, ap_context_t *);
  +ap_status_t ap_make_iov(ap_iovec_t **, const struct iovec *, ap_context_t *);
   ap_status_t ap_dupfile(ap_file_t **, ap_file_t *);
   ap_status_t ap_getfileinfo(ap_finfo_t *finfo, ap_file_t *thefile);
   ap_status_t ap_stat(ap_finfo_t *finfo, const char *fname, ap_context_t *cont);
  
  
  
  1.30      +3 -2      apache-2.0/src/main/buff.c
  
  Index: buff.c
  ===================================================================
  RCS file: /home/cvs/apache-2.0/src/main/buff.c,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- buff.c	2000/01/28 18:00:58	1.29
  +++ buff.c	2000/02/18 18:05:19	1.30
  @@ -555,8 +555,9 @@
                                         int nvec, ap_ssize_t *bytes_written)
   {
       ap_status_t rv;
  -
  -    rv = iol_writev(fb->iol, vec, nvec, bytes_written);
  +    ap_iovec_t *iov;
  +    ap_make_iov(&iov, vec, fb->pool);
  +    rv = iol_writev(fb->iol, iov, nvec, bytes_written);
       if (rv != APR_SUCCESS) {
   	fb->saved_errno = rv;
   	if (rv != APR_EAGAIN) {