예제 #1
0
int pbs_disconnect(

  int connect)  /* I (location in connection array) */

  {
  int  sock;

  if ((connect < 0) ||
      (connect >= PBS_NET_MAX_CONNECTIONS))
    return(-1);

  pthread_mutex_lock(connection[connect].ch_mutex);

  /* send close-connection message */
  sock = connection[connect].ch_socket;

  pbs_disconnect_socket(sock);

  if (connection[connect].ch_errtxt != (char *)NULL)
    {
    free(connection[connect].ch_errtxt);
    connection[connect].ch_errtxt = (char *)NULL;
    }

  connection[connect].ch_errno = 0;
  connection[connect].ch_inuse = FALSE;
  pthread_mutex_unlock(connection[connect].ch_mutex);

  return(0);
  }  /* END pbs_disconnect() */
예제 #2
0
파일: pbsD_connect.c 프로젝트: dhill12/test
int pbs_disconnect(

  int connect)  /* I (location in connection array) */

  {
  int  sock;

  pthread_mutex_lock(connection[connect].ch_mutex);

  /* send close-connection message */
  sock = connection[connect].ch_socket;

  pbs_disconnect_socket(sock);

  if (connection[connect].ch_errtxt != (char *)NULL)
    free(connection[connect].ch_errtxt);

  connection[connect].ch_errno = 0;
  connection[connect].ch_inuse = FALSE;
  pthread_mutex_unlock(connection[connect].ch_mutex);

  return(0);
  }  /* END pbs_disconnect() */