All of lore.kernel.org
 help / color / mirror / Atom feed
* is sendto and recvfrom thread safe?
@ 2003-08-21  6:06 Lee Chin
  2003-08-21 16:16 ` Stephen Hemminger
  0 siblings, 1 reply; 4+ messages in thread
From: Lee Chin @ 2003-08-21  6:06 UTC (permalink / raw)
  To: Mark Hahn, linux-net, linux-newbie

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

-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

^ permalink raw reply	[flat|nested] 4+ messages in thread
* Re: is sendto and recvfrom thread safe?
@ 2003-08-21 20:02 Lee Chin
  2003-08-21 21:33 ` Stephen Hemminger
  0 siblings, 1 reply; 4+ messages in thread
From: Lee Chin @ 2003-08-21 20:02 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: Mark Hahn, linux-net, linux-newbie

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


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2003-08-21 21:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-08-21  6:06 is sendto and recvfrom thread safe? Lee Chin
2003-08-21 16:16 ` Stephen Hemminger
  -- strict thread matches above, loose matches on Subject: below --
2003-08-21 20:02 Lee Chin
2003-08-21 21:33 ` Stephen Hemminger

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.