From: "Lee Chin" <leechin@mail.com>
To: Stephen Hemminger <shemminger@osdl.org>
Cc: Mark Hahn <hahn@physics.mcmaster.ca>,
linux-net@vger.kernel.org, linux-newbie@vger.kernel.org
Subject: Re: is sendto and recvfrom thread safe?
Date: Thu, 21 Aug 2003 15:02:26 -0500 [thread overview]
Message-ID: <20030821200226.59291.qmail@mail.com> (raw)
This sort of helps... my question is with respect to UDP sockets, for sendto and recvfrom, can I concurrently have two threads at the same time write (sendto) on a same file descriptor? How about readfrom and sendt on the same file descriptor at the same time?
Thanks
Lee
----- Original Message -----
From: Stephen Hemminger <shemminger@osdl.org>
Date: Thu, 21 Aug 2003 09:16:49 -0700
To: "Lee Chin" <leechin@mail.com>
Subject: Re: is sendto and recvfrom thread safe?
> On Thu, 21 Aug 2003 01:06:45 -0500
> "Lee Chin" <leechin@mail.com> wrote:
>
> > Hi,
> > If I have a global socket file descriptor, can I call sendto and recvfrom on that file descriptor concurrently with out using semaphores around the call to sendto and recvfrom?
> >
> > What about for TCP sockets?
> >
> > Thanks
> > Lee
>
> It depends on your definition of thread safe.
> Sendto and recvfrom are for UDP which is a datagram protocol; therefore
> each call sends and receives a separate data unit. The application protocol
> has to be atomic to work with UDP anyway. Your application has to deal
> with out of order, and dropped packets.
>
> If you use TCP sockets with threaded applications you better do application
> level locking per socket and have enough information in your protocol to describe
> the length of each operation. TCP is a byte stream, and with multiple threads sending
> it is possible to "mix the streams". Multiple threads reading will get out of
> order data.
>
> This is true of all OS's that I know about that support threads
> (Windows, Solaris, Linux, ...).
--
__________________________________________________________
Sign-up for your own personalized E-mail at Mail.com
http://www.mail.com/?sr=signup
CareerBuilder.com has over 400,000 jobs. Be smarter about your job search
http://corp.mail.com/careers
next reply other threads:[~2003-08-21 20:02 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-08-21 20:02 Lee Chin [this message]
2003-08-21 21:33 ` is sendto and recvfrom thread safe? Stephen Hemminger
-- strict thread matches above, loose matches on Subject: below --
2003-08-21 6:06 Lee Chin
2003-08-21 16:16 ` Stephen Hemminger
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=20030821200226.59291.qmail@mail.com \
--to=leechin@mail.com \
--cc=hahn@physics.mcmaster.ca \
--cc=linux-net@vger.kernel.org \
--cc=linux-newbie@vger.kernel.org \
--cc=shemminger@osdl.org \
/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.