[issue14016] Usage of socket.sendall() in multiple threads

2012-02-14 Thread Srikantha Kadur

New submission from Srikantha Kadur :

Here is my code.

Func1():
.
.
CliSock, addr = ServSocket.accept()
print 'DataPortServ:Connected by', addr
data.DataSendSock = CliSock

for cnt in range(data.ThreadCnt):
SessionId = startSessionId + SessionIdCnt* cnt  

thread.start_new_thread(ThreadHandleDataPort,(("Thead"+str(cnt)),data,EventCnt[cnt],EventCnt[cnt+1],UECntPerThread,ip,SessionId))
time.sleep(0.005)

ThreadHandleDataPort(args):
#here i use socket.sendall
 while True:
if ( 3 != data.bRunFlag): 
   if (len(data.AddedEvents) != 0) | (len(data.AddedReasons) != 0):
   #time.sleep(5)
   for EventCnt in range(StartEvent,StopEvent):
   .
   .
   .
   data.DataSendSock.sendall(SendEvent)
   .
   .

My application is a server and it accepts connection from the client on a port 
and start sending some messages to the client. While sending messages i use 
multiple threads for the same socket based on required traffic. 

I do not modify any global variables but i read only global variables.But at 
high Loads my messages are being corrupted, here is the snippet of the 
corruption

actual message should have been 
ABS1,1328577019.57,181138955,

instead im getting
ABS1,1329218634.91,181ABS1

so here is my Q:
Do i need to lock the socket before sending inside the threads or Python 
modules will take care of it? Please suggest.

--
components: 2to3 (2.x to 3.x conversion tool)
messages: 153361
nosy: srikadur
priority: normal
severity: normal
status: open
title: Usage of socket.sendall() in multiple threads
type: behavior

___
Python tracker 
<http://bugs.python.org/issue14016>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com



[issue14016] Usage of socket.sendall() in multiple threads

2012-02-14 Thread Srikantha Kadur

Srikantha Kadur  added the comment:

Thanks David,
  as the last available option i used this tool.

--

___
Python tracker 
<http://bugs.python.org/issue14016>
___
___
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com