kernelnewbies.kernelnewbies.org archive mirror
 help / color / mirror / Atom feed
From: valdis.kletnieks@vt.edu
To: noloader@gmail.com
Cc: kernelnewbies <kernelnewbies@kernelnewbies.org>
Subject: Re: How to make /dev/ttyACM0 (and friends) exclusive?
Date: Sun, 03 Mar 2019 00:55:50 -0500	[thread overview]
Message-ID: <8247.1551592550@turing-police> (raw)
In-Reply-To: <CAH8yC8kkwZLD+get-V-kp1jYMmG7ovYTnQVJdis-DdCyVGTzdw@mail.gmail.com>

On Sat, 02 Mar 2019 14:36:12 -0500, Jeffrey Walton said:

> I feel like I am missing something... Does Linux consider the modem a
> shared resource instead of an exclusive resource? What use cases
> support two different programs sending commands to the modem at the
> same time?

The Linux kernel has exactly zero clue what a "modem" is.  It's talking to a
serial port, and doesn't care where the other end of the serial cable is. If
you have a onboard modem, that cable may be all of 2 mm long and consist of a
bunch of traces between two chips on a PCB, or even internal connections
between two sides of a chip, but it's still there.

So the correct question is "what use cases have two programs talking to the
same serial port"?

And the answer is:  A lot.  For a long time, there were these things called
"terminals", that the younger folk may not have encountered. And a very common
use case was to login via a terminal.  At that point, you usually had a login
shell like bash or similar running and often doing I/O to the terminal - and if
you ran any sub-processes, they also would do I/O to the terminal. So consider
the following bash one-liner:

% for i in `seq 1 10`; do echo "Loop number $i"; date; sleep 1; done

How and why does this work? (Hint 1:  'echo' is a bash builtin, Hint 2:
think about how a shell handles stdin/out for child processes)


_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@kernelnewbies.org
https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

  reply	other threads:[~2019-03-03  5:56 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 [this message]
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
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=8247.1551592550@turing-police \
    --to=valdis.kletnieks@vt.edu \
    --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 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 NNTP newsgroup(s).