This change includes the following:
- Replace the signal number with signal name.
- Stop db process after all the immediate children stopped.
- Fix a defect in TableUtils when closing the table object.
- Enhance the is_process_exists subroutine in utils.
Close issue: #537
The root cause of this issue is the select time out when polling the
pipe socket. When timeout occurs, child process exit before printing
the message at the parent process side.
close-issue: #729
Currently the getadapter implementation store the nics information
in multiple files. This implementaion will store the records in the
database and add the following changes:
1. Add taskstate table to record the getadapter request.
2. Add route_request hook in xcatd to avoid of too much process.
3. Add adapterinfo column to keep the adapter information.
4. Use fifo pipe to send/recv the adapter message and wake up the waiting process.
5. Use alarm signal to handle the timeout event.
Previously, every TLS connection caused a communication with UDP
and this was bad. Then every UDP connection caused a communication
and this was better. This takes things a little further by only
doing the communication if there is a known interested party now.
The fudge factor is now decremented according to real number of clients counted
toward sslclient count. Also, have the overload case break into flow control
communication as well (though it wouldn't have a good answer for an interested client)
Because SSL actually was relying upon accept() to hold indefininetly,
it would hang up the UDP worker indefinitely, blocking requests.
Fix this by driving the loop iteration through select() rather than
accept() and iterating through each file handle only when select()
says they are ready.
If the UDP monitor was busy, the SSL connections could back up.
Rework it so that the UDP monitor would get hung up by the SSL
process instead, if *any* of them get backed up. However, the
nature of the loop in the SSL client is sufficiently lightweight
that it shouldn't hang up the UDP process under any reasonable
circumstance. If it did hang it up though, it'll be less hung up
than discovery does already.