ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/rt/RdataShareMap.cpp
(Generate patch)

Comparing ray/src/rt/RdataShareMap.cpp (file contents):
Revision 2.2 by greg, Wed Oct 30 01:38:21 2024 UTC vs.
Revision 2.3 by greg, Thu Oct 31 23:55:04 2024 UTC

# Line 80 | Line 80 | RdataShareMap::RdataShareMap(const char *name, int fla
80                          return;
81                  }
82          }
83 <        mmorg = (void *)mmap(NULL, siz, mmprot,
83 >        if (siz) mmorg = (void *)mmap(NULL, siz, mmprot,
84                                  MAP_SHARED|(name ? MAP_FILE : MAP_ANON), fd, 0);
85          close(fd);
86          if (mmorg == MAP_FAILED) {
# Line 107 | Line 107 | RdataShareMap::~RdataShareMap()
107   size_t
108   RdataShareMap::Resize(size_t new_siz)
109   {
110        if (!mmorg)
111                return 0;
110          if (new_siz > 0) {
111                  if (new_siz == osiz)
112                          return osiz;
# Line 155 | Line 153 | RdataShareMap::Resize(size_t new_siz)
153                          close(fd);
154                          return 0;
155                  }
156 <                munmap(mmorg, osiz);
156 >                if (mmorg) munmap(mmorg, osiz);
157                  mmorg = mmap(NULL, new_siz,
158                                  mode&RDSread ? PROT_READ|PROT_WRITE : PROT_WRITE,
159                                  MAP_SHARED|MAP_FILE, fd, 0);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines