From: Greg KH <greg@kroah.com>
To: Jeffrey Walton <noloader@gmail.com>
Cc: kernelnewbies <kernelnewbies@kernelnewbies.org>
Subject: Re: How to make /dev/ttyACM0 (and friends) exclusive?
Date: Mon, 4 Mar 2019 14:20:11 +0100 [thread overview]
Message-ID: <20190304132011.GA8963@kroah.com> (raw)
In-Reply-To: <CAH8yC8mDG-fzaM3LGMw-C=sPs04Xmfs_CW2mGDCu0W+8hDG=fQ@mail.gmail.com>
On Mon, Mar 04, 2019 at 08:04:23AM -0500, Jeffrey Walton wrote:
> On Sun, Mar 3, 2019 at 6:00 AM Greg KH <greg@kroah.com> wrote:
> >
> > On Sun, Mar 03, 2019 at 03:55:44AM -0500, Jeffrey Walton wrote:
> > > ...
> >
> > Again, go delete modem manager off of your system, it is the thing that
> > keeps opening the port up to see if you have made a valid connection on
> > the device or not. If you write your own program to talk to the device,
> > modem manager is not needed at all, and is known to cause this problem.
>
> Thanks Greg. I deleted modem manager, then ran two instances of my
> program. Both opened the device with O_EXCL, and both opens succeeded.
> They proceeded to much with one another's state.
Yes, don't do that :)
> I don't think modem manager is the problem here.
The problem is your userspace is trying to open a device node twice
without being _very_ careful about it :)
> The first problem is the way this device is setup. An exclusive
> resource is being treated as a shared resource. The second problem is
> open silently ignores flags. Epic fail.
character device nodes do not support O_EXCL, only block device nodes
do in kernels newer than 2.6.
Again, the kernel is working just fine the only "failure" is a lack of
reading the man page for open(2) fully :)
greg k-h
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
next prev parent reply other threads:[~2019-03-04 13:20 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-02 4:29 How to make /dev/ttyACM0 (and friends) exclusive? Jeffrey Walton
2019-03-02 7:50 ` Greg KH
2019-03-02 18:45 ` valdis.kletnieks
2019-03-02 19:36 ` Jeffrey Walton
2019-03-03 5:55 ` valdis.kletnieks
2019-03-03 8:55 ` Jeffrey Walton
2019-03-03 11:00 ` Greg KH
2019-03-04 13:04 ` Jeffrey Walton
2019-03-04 13:20 ` Greg KH [this message]
2019-03-04 15:38 ` Yann Droneaud
2019-03-04 22:01 ` valdis.kletnieks
2020-10-06 20:41 ` Daniel Santos
2020-10-11 14:52 ` linux lover
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=20190304132011.GA8963@kroah.com \
--to=greg@kroah.com \
--cc=kernelnewbies@kernelnewbies.org \
--cc=noloader@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.