Sponsored Content
Full Discussion: system call
Top Forums Shell Programming and Scripting system call Post 302556284 by rajan007 on Saturday 17th of September 2011 04:57:46 PM
Old 09-17-2011
No, its not intented. in php mysql client timeout set to 4 secs only. So scripts should not wait more than 4 secs. i can see large number of delayed poll() calls, few are above 10 secs. Do you think its a bug in mysql client?

-Raj




Quote:
Originally Posted by NH2
I see nothing wrong with the trace (copied below with an other formatting):
Code:
           connect(4, {sa_family=AF_INET, sin_port=htons(3306), sin_addr=inet_addr("XX.XX.XX.XX")}, 16) = -1 EINPROGRESS 
           (Operation now in progress) 
<0.000035> poll([{fd=4, events=POLLIN|POLLOUT|POLLERR|POLLHUP}], 1, 2000) = 1 ([{fd=4, revents=POLLOUT}]) 
<0.000120> getsockopt(4, SOL_SOCKET, SO_ERROR, [8589934592], [4]) = 0 
<0.000006> fcntl(4, F_SETFL, O_RDWR) = 0 
<0.000005> setsockopt(4, SOL_TCP, TCP_NODELAY, [1], 4) = 0 
<0.000006> poll([{fd=4, events=POLLIN|POLLERR|POLLHUP}], 1, 1471228928) = 1 ([{fd=4, revents=POLLIN}]) 
<1.122287>

First, the client tries to connect to the server using (probably) non blocking socket. Upon receiving EINPROGRESS, it then polls() on the socket for connection completion with a max timeout of 2s. Very soon, the connection completes. The clients set then various options on the socket, and calls again poll() with a timeout of 1471228.928s, which completes after 1.12s with event input data received. This is fine.

Question: Is the timeout of 1471228.928s really intended?
 

10 More Discussions You Might Find Interesting

1. Programming

semclt system call ???

hi mates, What is the : semctl system call for? any example will be helpful and be appreciated. cya and thanx abdul (2 Replies)
Discussion started by: abdul
2 Replies

2. Programming

Problem in system call

Dear Friends, I write a c program to list the directories recursively. For this I write a function called my_readdir to read the content of directory. For this I use read system call it returns -1, then I use readdir system call it gives comment terminated error or segmentation... (1 Reply)
Discussion started by: spmlingam
1 Replies

3. UNIX for Advanced & Expert Users

how to differentiate system call from library call

Hi, Ho do I differentiate system call from library call? for example if I am using chmod , how do I find out if it is a system call or library call? Thanks Muru (2 Replies)
Discussion started by: muru
2 Replies

4. Programming

c system call

How the c compiler differentiates the system calls and function calls? (1 Reply)
Discussion started by: rangaswamy
1 Replies

5. Shell Programming and Scripting

system call

Hi, How to write a system calls in a script ? > cd $HOME > ls -ltr thanks in advance.. (10 Replies)
Discussion started by: hegdeshashi
10 Replies

6. Programming

C:system call

Hi I'm studing the system call. I've written a small program that return the time spent in doing some operations. Now I'd like to write one that return the time spent in user mode of a process. I'm reading that i should use the tms struct: clock_t times(struct tms *buf); struct tms {... (2 Replies)
Discussion started by: Dedalus
2 Replies

7. Programming

system call

I have a cgi script which is called after certain time interval, which has this: system ("ls -l /tmp/cgic* | grep -v \"cgicsave.env\" | awk '{print $5}'"); During the execution of this script,the output is 0 sometimes. But due to this the system call is not working at all and doesnt o/p... (2 Replies)
Discussion started by: xs2punit
2 Replies

8. Programming

need help with system call

hi everyone i wrote a system call and compiled the kernel succesfully... my system call is in a file in the kernel folder named my_syscall1.c (kernel/my_syscall1.c) the header file for this system call i added it in the folder include like this include/my_syscall1/my_syscall1.h my problem is... (2 Replies)
Discussion started by: demis87
2 Replies

9. Programming

[C] exec system call

Hi again ;) Now I want to make a program that will execute the programs with exec, asking the user if he wants the program to run in background or foreground. scanf("%c",&caracter); if (caracter=='y'){ printf("Has decidido ejecutarlo en background\n"); if((pid=fork())==0) {// fork para... (3 Replies)
Discussion started by: lamachejo
3 Replies

10. Programming

c programming system call

newPerm = oldPerm & ~0100; where oldPerm holds the value of st_mode from the system call stat(). When I try and compile every line where ive attempted to do these operations gives the warning "parameter names without declaration types in function declaration". what could be the problem? the... (2 Replies)
Discussion started by: bjhum33
2 Replies
POLL(2) 						      BSD System Calls Manual							   POLL(2)

NAME
poll -- synchronous I/O multiplexing SYNOPSIS
#include <poll.h> int poll(struct pollfd fds[], nfds_t nfds, int timeout); DESCRIPTION
Poll() examines a set of file descriptors to see if some of them are ready for I/O or if certain events have occurred on them. The fds argu- ment is a pointer to an array of pollfd structures, as defined in <poll.h> (shown below). The nfds argument specifies the size of the fds array. struct pollfd { int fd; /* file descriptor */ short events; /* events to look for */ short revents; /* events returned */ }; The fields of struct pollfd are as follows: fd File descriptor to poll. events Events to poll for. (See below.) revents Events which may occur or have occurred. (See below.) The event bitmasks in events and revents have the following bits: POLLERR An exceptional condition has occurred on the device or socket. This flag is output only, and ignored if present in the input events bitmask. POLLHUP The device or socket has been disconnected. This flag is output only, and ignored if present in the input events bitmask. Note that POLLHUP and POLLOUT are mutually exclusive and should never be present in the revents bitmask at the same time. POLLIN Data other than high priority data may be read without blocking. This is equivalent to ( POLLRDNORM | POLLRDBAND ). POLLNVAL The file descriptor is not open. This flag is output only, and ignored if present in the input events bitmask. POLLOUT Normal data may be written without blocking. This is equivalent to POLLWRNORM. POLLPRI High priority data may be read without blocking. POLLRDBAND Priority data may be read without blocking. POLLRDNORM Normal data may be read without blocking. POLLWRBAND Priority data may be written without blocking. POLLWRNORM Normal data may be written without blocking. The distinction between normal, priority, and high-priority data is specific to particular file types or devices. If timeout is greater than zero, it specifies a maximum interval (in milliseconds) to wait for any file descriptor to become ready. If timeout is zero, then poll() will return without blocking. If the value of timeout is -1, the poll blocks indefinitely. RETURN VALUES
Poll() returns the number of descriptors that are ready for I/O, or -1 if an error occurred. If the time limit expires, poll() returns 0. If poll() returns with an error, including one due to an interrupted call, the fds array will be unmodified and the global variable errno will be set to indicate the error. ERRORS
Poll() will fail if: [EAGAIN] Allocation of internal data structures fails. A subsequent request may succeed. [EFAULT] Fds points outside the process's allocated address space. [EINTR] A signal is delivered before the time limit expires and before any of the selected events occurs. [EINVAL] The nfds argument is greater than OPEN_MAX or the timeout argument is less than -1. BUGS
The poll() system call currently does not support devices. SEE ALSO
accept(2), connect(2), kevent(2), read(2), recv(2), select(2), send(2), write(2) HISTORY
The poll() function call appeared in AT&T System V UNIX. BSD
February 27, 2005 BSD
All times are GMT -4. The time now is 09:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy