Sponsored Content
Top Forums Programming regarding socket & mssage queue Post 302147897 by porter on Thursday 29th of November 2007 01:28:25 AM
Old 11-29-2007
Why is it sitting in wait4()? looks like it thinks the child process should be dead and it's trying to reap it, so it has fallen out of the select loop.

The two pids are one for the main process and another for the child process, which is what we were trying to achieve.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Session PID & socket connection pid

1. If I use an software application(which connects to the database in the server) in my local pc, how many PID should be registered? Would there be PID for the session and another PID for socket connection? 2. I noticed (through netstat) that when I logged in using the my software application,... (1 Reply)
Discussion started by: pcx26
1 Replies

2. UNIX for Advanced & Expert Users

Unix: socket & Co

Hello, I need help to replace the ................. of client.c that request the server implemented by server.c ------------------ Listing 1 - server.c /* Inclusion des différentes librairies nécessaires */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <string.h> ... (0 Replies)
Discussion started by: bounkolh
0 Replies

3. UNIX for Dummies Questions & Answers

Socket Handling Differences Between Linux & Unix?

Sorry if this is a stupid question! I have been developing a Java application that I am deploying on both Unix and Linux servers, which uses lots of socket handling. When the server side connection is dropped by the server un-gracefully I have been seeing close_waits and null connections. ... (0 Replies)
Discussion started by: Vinnie
0 Replies

4. Programming

Multiplexing socket and message queue using Select()

I have a socket and a message queue over which i am trying to multiplex input using select(). When data comes over socket the select works but when it comes over message queue the select is not detecting it . Create_Q gets the identifier of the messege queue. ... (1 Reply)
Discussion started by: shaurya.rastogi
1 Replies

5. UNIX for Advanced & Expert Users

connect problem for sctp socket (ipv6 socket) - Runtime fail Invalid Arguments

Hi, I was porting ipv4 application to ipv6; i was done with TCP transports. Now i am facing problem with SCTp transport at runtime. To test SCTP transport I am using following server and client socket programs. Server program runs fine, but client program fails giving Invalid Arguments for... (0 Replies)
Discussion started by: chandrutiptur
0 Replies

6. Programming

which socket should socket option on be set

Hi all, On the server side, one socket is used for listening, the others are used for communicating with the client. My question is: if i want to set option for socket, which socket should be set on? If either can be set, what's the different? Again, what's the different if set option... (1 Reply)
Discussion started by: blademan100
1 Replies

7. Programming

socket function to read a webpage (socket.h)

Why does this socket function only read the first 1440 chars of the stream. Why not the whole stream ? I checked it with gdm and valgrind and everything seems correct... #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <string.h> #include... (3 Replies)
Discussion started by: cyler
3 Replies

8. Programming

Error with socket operation on non-socket

Dear Experts, i am compiling my code in suse 4.1 which is compiling fine, but at runtime it is showing me for socket programming error no 88 as i searched in errno.h it is telling me socket operation on non socket, what is the meaning of this , how to deal with this error , please... (1 Reply)
Discussion started by: vin_pll
1 Replies

9. IP Networking

Clarification - Setting socket options at the same time when socket is listening

I need clarification on whether it is okay to set socket options on a listening socket simultaneously when it is being used in an accept() call? Following is the scenario:- -- Task 1 - is executing in a loop - polling a listen socket, lets call it 'fd', (whose file descriptor is global)... (2 Replies)
Discussion started by: jake24
2 Replies

10. Programming

C++ socket, fork & pipes

Hello, I'm stuck and this is a matter which I need to resolve quite fast (but I couldn't post in the "Emergency" section); the problem is this : I have created a chat program in which the client sends the sentence to the server and then the server should send it to all the clients connected,... (2 Replies)
Discussion started by: timmyyyyy
2 Replies
iv_wait(3)						    ivykis programmer's manual							iv_wait(3)

NAME
IV_WAIT_INTEREST_INIT, iv_wait_interest_register, iv_wait_interest_register_spawn, iv_wait_interest_unregister, iv_wait_interest_kill - ivykis wait4(2) wrapper SYNOPSIS
#include <iv_wait.h> struct iv_wait_interest { pid_t pid; void *cookie; void (*handler)(void *cookie, int status, struct rusage *rusage); }; void IV_WAIT_INTEREST_INIT(struct iv_wait_interest *this); int iv_wait_interest_register(struct iv_wait_interest *this); int iv_wait_interest_register_spawn(struct iv_wait_interest *this, void (*fn)(void *), void *cookie); void iv_wait_interest_unregister(struct iv_wait_interest *this); int iv_wait_interest_kill(struct iv_wait_interest *this, int sig); DESCRIPTION
iv_wait is an ivykis(3) wrapper around wait4(2), integrating process state change notification with the ivykis event loop. An ivykis application desiring process state change notifications registers a struct iv_wait_interest object by calling iv_wait_inter- est_register, after having initialised it with IV_WAIT_INTEREST_INIT and subsequently having filled in the ->pid, ->cookie and ->handler members. Alternatively, an ivykis application can use iv_wait_interest_register_spawn to atomically fork off a child process and register a struct iv_wait_interest for it. In this context, 'atomically' means that the call to iv_wait_interest_register_spawn will be serialised with respect to invocations of wait4(2), which closes the race where process state change notifications can occur and be delivered between fork- ing off the child process and registering a struct iv_wait_interest for the child's pid. The child process will run the function given by the iv_wait_interest_register_spawn argument fn, with argument cookie as its argument. Once a process state change occurs (as indicated by delivery of a SIGCHLD signal to the current process), iv_wait calls wait4(2) to return information about the process state change, looks up the returned process ID in the set of registered struct iv_wait_interest objects, and if there is a registered interest with a matching ->pid field, arranges for that object's callback function to be called in the thread that the object was registered in. Process state change notifications will continue to be delivered to the object's callback function until iv_wait_interest_unregister is called on the object or until a WIFEXITED or WIFSIGNALED status for this pid is returned by wait4(2). Delivery of a WIFEXITED or WIFSIGNALED status does not automatically unregister the object, this always needs to be done explicitly. Unregistering a struct iv_wait_interest object can only be done from the thread that that object was registered in, but within that thread, can safely be done from (and its underlying memory allocation can safely be freed from) its own callback function. Registering multiple struct iv_wait_interest objects for the same process ID will produce undefined behavior. To send a signal to a child process, use iv_wait_interest_kill. This function will internally serialise with invocations of wait4(2), to avoid the race between sending a signal to a process and collecting a termination notification for that process (which makes its pid avail- able for reuse). Internally, iv_wait is implemented using iv_signal(3) and iv_event(3). SEE ALSO
ivykis(3), iv_signal(3), iv_event(3), wait4(2) ivykis 2010-09-03 iv_wait(3)
All times are GMT -4. The time now is 11:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy