Changeset 793cce15 in mainline for uspace/srv/logger/main.c


Ignore:
Timestamp:
2012-08-16T14:22:56Z (12 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
32b26cf7
Parents:
9a53e00
Message:

Add logging contexts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/logger/main.c

    r9a53e00 r793cce15  
    126126}
    127127
    128 static int handle_receive_message(logging_namespace_t *namespace, int level)
    129 {
    130         bool skip_message = !namespace_has_reader(namespace, level);
     128static int handle_receive_message(logging_namespace_t *namespace, sysarg_t context, int level)
     129{
     130        bool skip_message = !namespace_has_reader(namespace, context, level);
    131131        if (skip_message) {
    132132                /* Abort the actual message buffer transfer. */
     
    147147        }
    148148
    149         namespace_add_message(namespace, message, level);
     149        namespace_add_message(namespace, message, context, level);
    150150
    151151        free(message);
    152152
     153        return EOK;
     154}
     155
     156static int handle_create_context(logging_namespace_t *namespace, sysarg_t *idx)
     157{
     158        void *name;
     159        int rc = async_data_write_accept(&name, true, 0, 0, 0, NULL);
     160        if (rc != EOK) {
     161                return rc;
     162        }
     163
     164        rc = namespace_create_context(namespace, name);
     165
     166        free(name);
     167
     168        if (rc < 0)
     169                return rc;
     170
     171        *idx = (sysarg_t) rc;
    153172        return EOK;
    154173}
     
    166185
    167186                int rc;
     187                sysarg_t arg = 0;
    168188
    169189                switch (IPC_GET_IMETHOD(call)) {
     190                case LOGGER_CREATE_CONTEXT:
     191                        rc = handle_create_context(namespace, &arg);
     192                        async_answer_1(callid, rc, arg);
     193                        break;
    170194                case LOGGER_MESSAGE:
    171                         rc = handle_receive_message(namespace, IPC_GET_ARG1(call));
     195                        rc = handle_receive_message(namespace, IPC_GET_ARG1(call), IPC_GET_ARG2(call));
    172196                        async_answer_0(callid, rc);
    173197                        break;
Note: See TracChangeset for help on using the changeset viewer.