T_NPIPE
if ((T_NPIPE(c)->in = fopen(T_NPIPE(c)->in_pipename, "r")) == NULL) {
fclose(T_NPIPE(c)->out);
fclose(T_NPIPE(c)->in);
fclose(T_NPIPE(c)->out);
fread(&length, 4, 1, T_NPIPE(c)->in);
fread(buf, length, 1, T_NPIPE(c)->in);
fwrite(&length, 4, 1, T_NPIPE(c)->out);
fwrite(fmsg, length, 1, T_NPIPE(c)->out);
asprintf(&T_NPIPE(c)->in_pipename, "/tmp/dfui.%s.to_fe", c->rendezvous);
asprintf(&T_NPIPE(c)->out_pipename, "/tmp/dfui.%s.from_fe", c->rendezvous);
if (!is_named_pipe("%s", T_NPIPE(c)->in_pipename)) {
while (!is_named_pipe("%s", T_NPIPE(c)->in_pipename)) {
if ((T_NPIPE(c)->in = fopen(T_NPIPE(c)->in_pipename, "r")) == NULL) {
if ((T_NPIPE(c)->out = fopen(T_NPIPE(c)->out_pipename, "w")) == NULL) {
fclose(T_NPIPE(c)->in);
setvbuf(T_NPIPE(c)->out, NULL, _IONBF, 0);
fclose(T_NPIPE(c)->in);
fclose(T_NPIPE(c)->out);
if (c == NULL || T_NPIPE(c)->in == NULL || T_NPIPE(c)->out == NULL)
fwrite(&length, 4, 1, T_NPIPE(c)->out);
fwrite(fmsg, length, 1, T_NPIPE(c)->out);
fread(&length, 4, 1, T_NPIPE(c)->in);
fread(buf, length, 1, T_NPIPE(c)->in);
asprintf(&T_NPIPE(c)->out_pipename, "/tmp/dfui.%s.to_fe", c->rendezvous);
asprintf(&T_NPIPE(c)->in_pipename, "/tmp/dfui.%s.from_fe", c->rendezvous);
if (mkfifo(T_NPIPE(c)->in_pipename, 0600) < 0) {
if (mkfifo(T_NPIPE(c)->out_pipename, 0600) < 0) {
if ((T_NPIPE(c)->out = fopen(T_NPIPE(c)->out_pipename, "w")) == NULL) {
setvbuf(T_NPIPE(c)->out, NULL, _IONBF, 0);
if (T_NPIPE(c) != NULL) {
if (T_NPIPE(c)->in_pipename != NULL)
aura_free(T_NPIPE(c)->in_pipename, "pipename");
if (T_NPIPE(c)->out_pipename != NULL)
aura_free(T_NPIPE(c)->out_pipename, "pipename");
if (T_NPIPE(c)->in != NULL)
fclose(T_NPIPE(c)->in);
if (T_NPIPE(c)->out != NULL)
fclose(T_NPIPE(c)->out);
AURA_FREE(T_NPIPE(c), dfui_conn_npipe);
AURA_FREE(T_NPIPE(c), dfui_conn_tcp);
T_NPIPE(c)->in_pipename = NULL;
T_NPIPE(c)->out_pipename = NULL;
T_NPIPE(c)->in = NULL;
T_NPIPE(c)->out = NULL;