Difference for plugins/molfile_plugin/src/fastio.h from version 1.8 to 1.9

version 1.8version 1.9
Line 1
Line 1
 /*************************************************************************** /***************************************************************************
  *cr  *cr
  *cr            (C) Copyright 1995-2009 The Board of Trustees of the  *cr            (C) Copyright 1995-2016 The Board of Trustees of the
  *cr                        University of Illinois  *cr                        University of Illinois
  *cr                         All Rights Reserved  *cr                         All Rights Reserved
  *cr  *cr
Line 10
Line 10
  *  *
  *      $RCSfile: fastio.h,v $  *      $RCSfile: fastio.h,v $
  *      $Author: jim $       $Locker:  $             $State: Exp $  *      $Author: jim $       $Locker:  $             $State: Exp $
  *      $Revision: 1.8 $       $Date: 2013/09/30 22:02:44 $  *      $Revision: 1.9 $       $Date: 2017/03/29 21:38:15 $
  *  *
  ***************************************************************************  ***************************************************************************
  * DESCRIPTION:  * DESCRIPTION:
Line 539
Line 539
    * For large structures, e.g. 240M-atoms or larger, we have to use a loop    * For large structures, e.g. 240M-atoms or larger, we have to use a loop
    * to continue writing the memory buffer until completion.    * to continue writing the memory buffer until completion.
    */     */ 
    int writecalls=0;
   for (i=0; i<nitems; i++) {   for (i=0; i<nitems; i++) {
     fio_size_t szleft = size;     fio_size_t szleft = size;
     fio_size_t rc = 0;     fio_size_t rc = 0;
     for (szleft=size; szleft > 0; szleft -= rc) {     for (szleft=size; szleft > 0; szleft -= rc) {
       rc = write(fd, ((char*) ptr)+(size-szleft), szleft);       fio_size_t writesz = szleft;
 //      if (rc != szleft) { 
 //        printf("fio_fwrite(): rc %ld  sz: %ld\n", rc, szleft); #if 0
 //      }       /* On some kernel versions write calls beyond 2GB may not do */
        /* a partial write and may just return an error immediately. */
        /* Clamp maximum write size to 1GB per write call.           */
        if (writesz > (1024L * 1024L * 1024L))
          writesz = (1024L * 1024L * 1024L);
  #endif
  
        writecalls++;
        rc = write(fd, ((char*) ptr)+(size-szleft), writesz);
       if (rc < 0) {       if (rc < 0) {
         printf("fio_fwrite(): rc %ld  sz: %ld\n", rc, size);         printf("fio_fwrite(): rc %ld  sz: %ld  szleft: %ld  calls: %d\n", 
                 rc, size, szleft, writecalls);
         perror("  perror fio_fwrite(): ");         perror("  perror fio_fwrite(): ");
         return cnt;         return cnt;
       }       }


Legend:
Removed in v.1.8 
changed lines
 Added in v.1.9



Made by using version 1.53 of cvs2html