|
Vivek,
In UNIX, the "poll()" system call is used for
either listening or broadcasting over a set of descriptors. These
descriptors can refer to files, network/UNIX sockets, or FIFOs.
In this situation, the second parameter to
"poll()", the value of 1, indicates that we are reading from the list of
descriptors, waiting for other processes to write to whatever the descriptors
are referring to. The subsequent use of the system call "recv()" leads me
to believe that the list of descriptors is comprised of network sockets, but
that is just a guess.
So, the reason the "poll()" call is taking 5.113
seconds on some occasions and 0.0003 seconds on other occasions has to do with
the performance of whatever is communicating with the program that you are
trussing.
In Oracle terms, this behavior is very much like
the wait-event "SQL*Net message from client", where the Oracle RDBMS engine is
waiting for the client to say something.
Hope this helps...
-Tim
|
- POLL by Application Service process taking too Long VIVEK_SHARMA
- Tim Gorman
