Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Date: Wed, 25 Jun 2003 15:43:50 +0100 From: Elfyn McBratney X-X-Sender: elfyn AT ellixia Reply-To: cygwin AT cygwin DOT com To: Alex Vinokur cc: cygwin AT cygwin DOT com Subject: Re: assertion "ptr != MAP_FAILED" failed while using mmap In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII On Wed, 25 Jun 2003, Alex Vinokur wrote: > =========================================== > Windows 2000 > CYGWIN_NT-5.0 1.3.22(0.78/3/2) > GNU gcc version 3.2 20020927 (prerelease) > =========================================== > > Here is some function. > > -------------------------------------- > void read_file (char* filename_i) > { > int fd = open(filename_i, O_RDONLY); > assert (fd > 2); > > off_t sz = lseek(fd, 0, SEEK_END); > char* ptr = (char*)mmap(0, sz, PROT_READ, 0, fd, 0); > > assert (ptr != MAP_FAILED); // Here assertion failed > if (ptr != MAP_FAILED) > { > string str(ptr, ptr+sz); > munmap(ptr, sz); > } > > close(fd); > } > -------------------------------------- > > Assertion "ptr != MAP_FAILED)" failed. > What might cause that? This is just a stab in the dark, of course, but surely `ptr != MAP_FAILED' would indicate that the mmap did not fail? Assertions (assert()) are based on true or false, so the above assert is false in that `ptr != MAP_FAILED'. Elfyn -- -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/