public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Csaba Raduly <rcsaba@gmail.com>
To: Matthew Rickard <rickard.matt@gmail.com>,
	cygwin list <cygwin@cygwin.com>
Subject: Re: 3.4.6-1 shm_open always returns -1, errno EINVAL
Date: Sun, 12 Mar 2023 11:35:26 +0100	[thread overview]
Message-ID: <CAEhDDbBcB61X_FxJynpwva8Mm5=UatDDfbEowup7ydO67WwGWg@mail.gmail.com> (raw)
In-Reply-To: <da1d3c87-b83d-c5f2-95e9-d38952da0703@gmail.com>

Hi Matthew,

On Sun, 12 Mar 2023 at 07:44, Matthew Rickard  wrote:
>
> Hi all,
>
> Cygwin 3.4.6-1 shm_open seems to reject all calls, returning  the value
> -1 and setting errno to 22 EINVAL.
>
> For example, this program:
>
> #include <sys/mman.h>
> #include <fcntl.h>
> #include <errno.h>
> #include <stdio.h>
>
> int main() {
>    int res = shm_open("123", O_CREAT | O_RDWR, 0666);
>    int error = errno;
>    printf("res=%d errno=%d\n", res, errno);
>    if (error == EINVAL)
>      printf("That's EINVAL\n");
>    return 0;
> }
>
> Says:
>
> $ gcc -Og -o tiny tiny.c; ./tiny
> res=-1 errno=22
> That's EINVAL
>

https://man7.org/linux/man-pages/man3/shm_open.3.html  says:

For portable use, a shared memory object should be identified by
       a name of the form /somename; that is, a null-terminated string
       of up to NAME_MAX (i.e., 255) characters consisting of an initial
       slash, followed by one or more characters, none of which are
       slashes.

Changing the shm_open call to

shm_open("/123", O_CREAT | O_RDWR, 0666);

returns 3 and sets errno to zero.

Csaba
-- 
You can get very substantial performance improvements
by not doing the right thing. - Scott Meyers, An Effective C++11/14 Sampler
So if you're looking for a completely portable, 100% standards-conformant way
to get the wrong information: this is what you want. - Scott Meyers (C++TDaWYK)

  reply	other threads:[~2023-03-12 10:35 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-12  6:44 Matthew Rickard
2023-03-12 10:35 ` Csaba Raduly [this message]
2023-03-12 22:55   ` Matthew Rickard
2023-03-13 15:07     ` [EXTERNAL] " Lavrentiev, Anton (NIH/NLM/NCBI) [C]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAEhDDbBcB61X_FxJynpwva8Mm5=UatDDfbEowup7ydO67WwGWg@mail.gmail.com' \
    --to=rcsaba@gmail.com \
    --cc=cygwin@cygwin.com \
    --cc=rickard.matt@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).