static int ctdb_ibw_listen(struct ctdb_context *ctdb, int backlog) { struct ibw_ctx *ictx = talloc_get_type(ctdb->private_data, struct ibw_ctx); assert(ictx!=NULL); if (ibw_bind(ictx, &ctdb->address->ip)) { DEBUG(DEBUG_CRIT, ("ctdb_ibw_listen: ibw_bind failed\n")); return -1; } if (ibw_listen(ictx, backlog)) { DEBUG(DEBUG_CRIT, ("ctdb_ibw_listen: ibw_listen failed\n")); return -1; } return 0; }
static int ctdb_ibw_listen(struct ctdb_context *ctdb, int backlog) { struct ibw_ctx *ictx = talloc_get_type(ctdb->private_data, struct ibw_ctx); struct sockaddr_in my_addr; assert(ictx!=NULL); memset(&my_addr, 0, sizeof(struct sockaddr_in)); my_addr.sin_port = htons(ctdb->address.port); my_addr.sin_family = PF_INET; if (ctdb_ibw_get_address(ctdb, ctdb->address.address, &my_addr.sin_addr)) return -1; if (ibw_bind(ictx, &my_addr)) { DEBUG(DEBUG_CRIT, ("ctdb_ibw_listen: ibw_bind failed\n")); return -1; } if (ibw_listen(ictx, backlog)) { DEBUG(DEBUG_CRIT, ("ctdb_ibw_listen: ibw_listen failed\n")); return -1; } return 0; }