Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Message-ID: <3EFA8A17.5FB7E72F@dessent.net>
Date: Wed, 25 Jun 2003 22:52:23 -0700
From: Brian Dessent <brian@dessent.net>
Organization: My own little world...
X-Accept-Language: en,pdf
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: assertion "ptr != MAP_FAILED" failed while using mmap
References: <Pine.CYG.4.55.0306251825330.3408@ellixia> <Pine.GSO.4.44.0306251849140.22307-100000@slinky.cs.nyu.edu> <bddr4g$on$1@main.gmane.org>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Alex Vinokur wrote:

> char* ptr = (char*)mmap(0, sz, PROT_READ, 0, fd, 0);
> 
>    errno = 0;
>   if (ptr != MAP_FAILED)
>   {
>     string str(ptr, ptr+sz);
>     munmap(ptr, sz);
>   }
>   else
>   {
>     assert (ptr == MAP_FAILED);
>     printf ("=== Error : %u %s ===\n", errno, strerror (errno));
>   }

> The program prints:
> === Error : 0 No error ===

Of course it does, since you set errno = 0, what else could you possibly
expect?  Remove that line if you want to know why mmap() fails.

Brian

--
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/

