1.1 --- a/libipc/lib/src/server.c Mon Mar 14 17:44:41 2022 +0100
1.2 +++ b/libipc/lib/src/server.c Tue Mar 15 17:36:39 2022 +0100
1.3 @@ -174,21 +174,13 @@
1.4 return ipc_server_start_config(&config);
1.5 }
1.6
1.7 -/* A server main loop with no endpoint deletion detection. */
1.8 -
1.9 -long ipc_server_loop(int expected_items, ipc_server_config_type *config)
1.10 -{
1.11 - return ipc_server_managed_loop(expected_items, config, L4_INVALID_CAP);
1.12 -}
1.13 -
1.14 /* A server main loop handling endpoint deletion for an IPC gate dedicated to
1.15 a particular object within its own thread. */
1.16
1.17 -long ipc_server_managed_loop(int expected_items, ipc_server_config_type *config,
1.18 - l4_cap_idx_t irq)
1.19 +long ipc_server_managed_loop(int expected_items, ipc_server_config_type *config)
1.20 {
1.21 ipc_message_t msg;
1.22 - l4_umword_t label, irq_label = (l4_umword_t) irq;
1.23 + l4_umword_t label, irq_label = (l4_umword_t) config->irq;
1.24
1.25 /* Permit other endpoints by dynamically interpreting the label. */
1.26
1.27 @@ -203,8 +195,8 @@
1.28
1.29 /* Unmask the interrupt. */
1.30
1.31 - if (l4_is_valid_cap(irq))
1.32 - ipc_init_irq(irq);
1.33 + if (l4_is_valid_cap(config->irq))
1.34 + ipc_init_irq(config->irq);
1.35
1.36 /* Wait for an incoming message. */
1.37
1.38 @@ -248,8 +240,7 @@
1.39 {
1.40 ipc_server_config_type *config = (ipc_server_config_type *) data;
1.41
1.42 - long err = ipc_server_managed_loop(config->expected_items, config,
1.43 - config->irq);
1.44 + long err = ipc_server_managed_loop(config->expected_items, config);
1.45
1.46 if (config->finaliser != NULL)
1.47 config->finaliser(config);