Changes in / [91d860d:48cc66f] in mainline


Ignore:
Location:
uspace/srv/logger
Files:
3 edited

Legend:

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

    r91d860d r48cc66f  
    6767
    6868        log->logged_level = level;
    69         refcount_up(&log->ref_counter);
     69        log->ref_counter++;
    7070
    7171        log_unlock(log);
  • uspace/srv/logger/logger.h

    r91d860d r48cc66f  
    4141#include <async.h>
    4242#include <stdbool.h>
    43 #include <refcount.h>
    4443#include <fibril_synch.h>
    4544#include <stdio.h>
     
    6564        link_t link;
    6665
    67         atomic_refcount_t ref_counter;
     66        size_t ref_counter;
    6867
    6968        fibril_mutex_t guard;
  • uspace/srv/logger/logs.c

    r91d860d r48cc66f  
    9999        fibril_mutex_initialize(&result->guard);
    100100        link_initialize(&result->link);
    101         refcount_init(&result->ref_counter);
    102         refcount_up(&result->ref_counter);
    103101        result->parent = parent;
    104102
     
    127125                list_append(&result->link, &log_list);
    128126                if (result->parent != NULL) {
    129                         refcount_up(&result->parent->ref_counter);
     127                        fibril_mutex_lock(&result->parent->guard);
     128                        result->parent->ref_counter++;
     129                        fibril_mutex_unlock(&result->parent->guard);
    130130                }
    131131        }
     
    209209{
    210210        assert(fibril_mutex_is_locked(&log->guard));
    211 
    212         if (!refcount_down(&log->ref_counter)) {
    213                 /* We are definitely not the last ones. */
     211        assert(log->ref_counter > 0);
     212
     213        /* We are definitely not the last ones. */
     214        if (log->ref_counter > 1) {
     215                log->ref_counter--;
    214216                fibril_mutex_unlock(&log->guard);
    215217                return;
    216218        }
    217 
    218 
    219219
    220220        /*
     
    225225         *   LOCKED(list), wants to LOCK(log)
    226226         */
    227         refcount_up(&log->ref_counter);
    228227        fibril_mutex_unlock(&log->guard);
    229228
     
    235234         */
    236235        fibril_mutex_lock(&log->guard);
    237 
    238         if (!refcount_down(&log->ref_counter)) {
     236        assert(log->ref_counter > 0);
     237        log->ref_counter--;
     238
     239        if (log->ref_counter > 0) {
    239240                /*
    240241                 * Meanwhile, someone else increased the ref counter.
     
    254255         * - destroy dest (if top-level log)
    255256         */
     257        assert(log->ref_counter == 0);
     258
    256259        list_remove(&log->link);
    257260        fibril_mutex_unlock(&log_list_guard);
     
    311314
    312315        assert(fibril_mutex_is_locked(&new_log->guard));
    313         refcount_up(&new_log->ref_counter);
     316        new_log->ref_counter++;
    314317
    315318        logs->logs[logs->logs_count] = new_log;
Note: See TracChangeset for help on using the changeset viewer.