Added DCMsg and DCMessenger for conveniently sending asynchronous messages (i.e. the interface is appropriate for non-blocking operations, but the internals of CEDAR still happen do a blocking back-and-forth exchange when authenticating).  These classes rely upon a new classy_counted_ptr template for doing garbage collection in a similar style to the existing counted_ptr (the semantic differences are described in classy_counted_ptr.h).  Added DaemonCore Send_Signal_nonblocking(), which makes use of DCMsg, and converted the schedd to use this when signaling shadows.  Under UNIX, an additional change is that we now send signals directly with kill() when possible.  This means that we avoid the possibility of schedd/shadow deadlock when signalling under unix, and under windows, we now use an interface to Send_Signal that is asynchronous, but the internals of CEDAR need to be changed in order to actually avoid the possibility of blocking during authentication.  Also converted the schedd to use DCMsg when sending RELEASE_CLAIM to the startd so that the schedd doesn't block trying to connect to dead startds.
Added DCMsg and DCMessenger for conveniently sending asynchronous messages (i.e. the interface is appropriate for non-blocking operations, but the internals of CEDAR still happen do a blocking back-and-forth exchange when authenticating).  These classes rely upon a new classy_counted_ptr template for doing garbage collection in a similar style to the existing counted_ptr (the semantic differences are described in classy_counted_ptr.h).  Added DaemonCore Send_Signal_nonblocking(), which makes use of DCMsg, and converted the schedd to use this when signaling shadows.  Under UNIX, an additional change is that we now send signals directly with kill() when possible.  This means that we avoid the possibility of schedd/shadow deadlock when signalling under unix, and under windows, we now use an interface to Send_Signal that is asynchronous, but the internals of CEDAR need to be changed in order to actually avoid the possibility of blocking during authentication.  Also converted the schedd to use DCMsg when sending RELEASE_CLAIM to the startd so that the schedd doesn't block trying to connect to dead startds.

djw8605/htcondor,djw8605/condor,htcondor/htcondor,mambelli/osg-bosco-marco,djw8605/htcondor,neurodebian/htcondor,bbockelm/condor-network-accounting,djw8605/htcondor,bbockelm/condor-network-accounting,mambelli/osg-bosco-marco,zhangzhehust/htcondor,bbockelm/condor-network-accounting,bbockelm/condor-network-accounting,neurodebian/htcondor,zhangzhehust/htcondor,htcondor/htcondor,zhangzhehust/htcondor,htcondor/htcondor,neurodebian/htcondor,djw8605/htcondor,htcondor/htcondor,djw8605/htcondor,mambelli/osg-bosco-marco,djw8605/condor,htcondor/htcondor,djw8605/condor,htcondor/htcondor,htcondor/htcondor,neurodebian/htcondor,djw8605/condor,bbockelm/condor-network-accounting,mambelli/osg-bosco-marco,bbockelm/condor-network-accounting,zhangzhehust/htcondor,djw8605/condor,djw8605/htcondor,djw8605/htcondor,mambelli/osg-bosco-marco,zhangzhehust/htcondor,bbockelm/condor-network-accounting,neurodebian/htcondor,djw8605/condor,neurodebian/htcondor,mambelli/osg-bosco-marco,neurodebian/htcondor,bbockelm/condor-network-accounting,djw8605/condor,zhangzhehust/htcondor,mambelli/osg-bosco-marco,neurodebian/htcondor,zhangzhehust/htcondor,mambelli/osg-bosco-marco,htcondor/htcondor,zhangzhehust/htcondor,djw8605/condor,djw8605/htcondor,neurodebian/htcondor,djw8605/htcondor,zhangzhehust/htcondor