corrections
parent
bef3b28656
commit
6243b818f1
|
@ -296,8 +296,8 @@ struct ipc_error ipc_add_fd (struct ipc_ctx *ctx, int fd)
|
|||
// remove a connection from its file descriptor
|
||||
struct ipc_error ipc_del_fd (struct ipc_ctx *ctx, int fd)
|
||||
{
|
||||
T_R ((ctx == NULL), IPC_ERROR_DEL_FD__NO_PARAM_CINFOS);
|
||||
T_R ((ctx->cinfos == NULL || ctx->pollfd), IPC_ERROR_DEL_FD__EMPTY_LIST);
|
||||
T_R ((ctx == NULL), IPC_ERROR_DEL_FD__NO_PARAM_CINFOS);
|
||||
T_R ((ctx->cinfos == NULL || ctx->pollfd == NULL), IPC_ERROR_DEL_FD__EMPTY_LIST);
|
||||
|
||||
for (size_t i = 0; i < ctx->size; i++) {
|
||||
if (ctx->pollfd[i].fd == fd) {
|
||||
|
@ -339,7 +339,7 @@ struct ipc_error handle_new_message (struct ipc_event *event, struct ipc_ctx *ct
|
|||
|
||||
// If the socket is associated to another one for ipcd:
|
||||
// read and write automatically and provide a new IPC_EVENT_TYPE indicating the switch.
|
||||
if (ctx->switchdb.collection != NULL) {
|
||||
if (ctx->switchdb.size > 0) {
|
||||
int talkingfd = ctx->pollfd[index].fd;
|
||||
int correspondingfd = ipc_switching_get (&ctx->switchdb, talkingfd);
|
||||
if (correspondingfd != -1) {
|
||||
|
|
11
src/ipc.h
11
src/ipc.h
|
@ -367,17 +367,6 @@ struct ipc_error service_path (char *path, const char *sname);
|
|||
* ipcd enumerations, structures and functions
|
||||
**/
|
||||
|
||||
struct ipcd {
|
||||
int cpt;
|
||||
struct ipc_ctx ctx;
|
||||
struct ipc_switchings TCP_TO_IPCFD;
|
||||
};
|
||||
|
||||
struct ipc_error
|
||||
ipc_wait_event_ipcd (struct ipc_ctx *ctx
|
||||
, struct ipc_connection_info *cinfo // cinfo is NULL for clients
|
||||
, struct ipc_event *event, struct ipc_switchings *switchdb, int *timer);
|
||||
|
||||
void ipc_switching_add (struct ipc_switchings *is, int orig, int dest);
|
||||
int ipc_switching_del (struct ipc_switchings *is, int fd);
|
||||
int ipc_switching_get (struct ipc_switchings *is, int fd);
|
||||
|
|
12
src/print.c
12
src/print.c
|
@ -21,6 +21,18 @@ void ipc_ctx_print (struct ipc_ctx *ctx)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->switchdb.size > 0) {
|
||||
printf ("Context.switchdb contains:\n");
|
||||
for (size_t i = 0; i < ctx->switchdb.size; i++) {
|
||||
printf ("- %d <-> %d\n"
|
||||
, ctx->switchdb.collection[i].orig
|
||||
, ctx->switchdb.collection[i].dest);
|
||||
}
|
||||
}
|
||||
else {
|
||||
printf ("Context.switchdb is empty\n");
|
||||
}
|
||||
}
|
||||
|
||||
void ipc_message_print (const struct ipc_message *m)
|
||||
|
|
Reference in New Issue