int PBSD_status_put( int c, int function, char *id, struct attrl *attrib, char *extend) { int rc = 0; int sock; struct tcp_chan *chan = NULL; if ((c < 0) || (c >= PBS_NET_MAX_CONNECTIONS)) { return(PBSE_IVALREQ); } mutex_mgr ch_mutex = mutex_mgr(connection[c].ch_mutex, false); sock = connection[c].ch_socket; if ((chan = DIS_tcp_setup(sock)) == NULL) { rc = PBSE_MEM_MALLOC; return rc; } else if ((rc = encode_DIS_ReqHdr(chan, function, pbs_current_user)) || (rc = encode_DIS_Status(chan, id, attrib)) || (rc = encode_DIS_ReqExtend(chan, extend))) { connection[c].ch_errtxt = strdup(dis_emsg[rc]); DIS_tcp_cleanup(chan); return(PBSE_PROTOCOL); } ch_mutex.unlock(); if (DIS_tcp_wflush(chan)) { rc = PBSE_PROTOCOL; } /* success */ DIS_tcp_cleanup(chan); return(PBSE_NONE); } /* END PBSD_status_put() */
int PBSD_status_put( int c, int function, char *id, struct attrl *attrib, char *extend) { int rc = 0; int sock; sock = connection[c].ch_socket; DIS_tcp_setup(sock); if ((rc = encode_DIS_ReqHdr(sock, function, pbs_current_user)) || (rc = encode_DIS_Status(sock, id, attrib)) || (rc = encode_DIS_ReqExtend(sock, extend))) { connection[c].ch_errtxt = strdup(dis_emsg[rc]); pbs_errno = PBSE_PROTOCOL; return(pbs_errno); } if (DIS_tcp_wflush(sock)) { pbs_errno = PBSE_PROTOCOL; return(pbs_errno); } /* success */ return(0); } /* END PBSD_status_put() */