The UNIX and Linux Forums  

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Advanced & Expert Users
.
google unix.com



UNIX for Advanced & Expert Users Expert-to-Expert. Learn advanced UNIX, UNIX commands, Linux, Operating Systems, System Administration, Programming, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
HTTP Keep-Alive socket problem imdupeng High Level Programming 0 03-29-2008 08:11 PM
Problem Connecting to Socket Stevhp High Level Programming 6 04-30-2007 07:27 PM
Problem in HP-Unix while writing into socket AshokG HP-UX 0 02-25-2005 01:19 AM
Socket Problem Agent007 High Level Programming 3 04-03-2004 08:15 PM
[Problem]Reuse port in BSD socket Namely High Level Programming 1 11-28-2003 10:36 AM

Reply
 
Submit Tools LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 05-20-2008
Registered User
 

Join Date: Oct 2007
Posts: 4
problem with socket reading

I am not able to receive the message on socket in the current process when its waiting for its child to exit.

code looks something like below
//in one thread of the current process
//thread 1

===============================================
int numBytes = read(sockid,buf,SIZE); //Now the thread is blocked
================================================


//in another thread
//thread 2

=================================================
if((pid = fork()) == 0) // child process
{
exec(...);
}
else
{
waitpid(pid); //now the process is blocked for the child's exit
}
=================================================
In the above scenario, when child is executing and parent is blocked for child's exit, also when there is some message available on the socket descrtiptor for the first thread to read, I am not able to read that even after child's exit. so could somebody throw more light on the above scenario?

Thanks in advance
Swap007
Reply With Quote
Sponsored Links
  #2 (permalink)  
Old 05-20-2008
...@...
 

Join Date: Feb 2004
Location: NM
Posts: 5,214
Can you not use non-blocking reads or select()?
Reply With Quote
  #3 (permalink)  
Old 05-21-2008
Registered User
 

Join Date: Oct 2007
Posts: 4
yaaa I m using select call b4 doing read on socket .
so the code is somewhat like this

//thread 1

==========================================
int retval = select(.....)//Now the thread is blocked and it will be awaked whn something is thr to read from socket.


if(retval == -1)
cout<<"error"<<endl;
else
int numBytes = read(sockid,buf,SIZE);
============================================

is dis fine ????
Reply With Quote
Google The UNIX and Linux Forums
Reply

Bookmarks

Tags
None

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:




All times are GMT -4. The time now is 03:51 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited.
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66