Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/tcp/ncsim.c

    r257feec r69a93df7  
    4444#include <io/log.h>
    4545#include <stdlib.h>
    46 #include <fibril.h>
     46#include <thread.h>
    4747#include "conn.h"
    4848#include "ncsim.h"
     
    7474        link_t *link;
    7575
    76         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_ncsim_bounce_seg()");
     76        log_msg(LVL_DEBUG, "tcp_ncsim_bounce_seg()");
    7777        tcp_rqueue_bounce_seg(sp, seg);
    7878        return;
     
    8080        if (0 /*random() % 4 == 3*/) {
    8181                /* Drop segment */
    82                 log_msg(LOG_DEFAULT, LVL_ERROR, "NCSim dropping segment");
     82                log_msg(LVL_ERROR, "NCSim dropping segment");
    8383                tcp_segment_delete(seg);
    8484                return;
     
    8787        sqe = calloc(1, sizeof(tcp_squeue_entry_t));
    8888        if (sqe == NULL) {
    89                 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed allocating SQE.");
     89                log_msg(LVL_ERROR, "Failed allocating SQE.");
    9090                return;
    9191        }
     
    119119}
    120120
    121 /** Network condition simulator handler fibril. */
    122 static int tcp_ncsim_fibril(void *arg)
     121/** Network condition simulator handler thread. */
     122static void tcp_ncsim_thread(void *arg)
    123123{
    124124        link_t *link;
     
    126126        int rc;
    127127
    128         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_ncsim_fibril()");
     128        log_msg(LVL_DEBUG, "tcp_ncsim_thread()");
     129
    129130
    130131        while (true) {
     
    138139                        sqe = list_get_instance(link, tcp_squeue_entry_t, link);
    139140
    140                         log_msg(LOG_DEFAULT, LVL_DEBUG, "NCSim - Sleep");
     141                        log_msg(LVL_DEBUG, "NCSim - Sleep");
    141142                        rc = fibril_condvar_wait_timeout(&sim_queue_cv,
    142143                            &sim_queue_lock, sqe->delay);
     
    146147                fibril_mutex_unlock(&sim_queue_lock);
    147148
    148                 log_msg(LOG_DEFAULT, LVL_DEBUG, "NCSim - End Sleep");
     149                log_msg(LVL_DEBUG, "NCSim - End Sleep");
    149150                tcp_rqueue_bounce_seg(&sqe->sp, sqe->seg);
    150151                free(sqe);
    151152        }
    152 
    153         /* Not reached */
    154         return 0;
    155153}
    156154
    157 /** Start simulator handler fibril. */
    158 void tcp_ncsim_fibril_start(void)
     155/** Start simulator handler thread. */
     156void tcp_ncsim_thread_start(void)
    159157{
    160         fid_t fid;
     158        thread_id_t tid;
     159        int rc;
    161160
    162         log_msg(LOG_DEFAULT, LVL_DEBUG, "tcp_ncsim_fibril_start()");
     161        log_msg(LVL_DEBUG, "tcp_ncsim_thread_start()");
    163162
    164         fid = fibril_create(tcp_ncsim_fibril, NULL);
    165         if (fid == 0) {
    166                 log_msg(LOG_DEFAULT, LVL_ERROR, "Failed creating ncsim fibril.");
     163        rc = thread_create(tcp_ncsim_thread, NULL, "ncsim", &tid);
     164        if (rc != EOK) {
     165                log_msg(LVL_ERROR, "Failed creating ncsim thread.");
    167166                return;
    168167        }
    169 
    170         fibril_add_ready(fid);
    171168}
    172169
Note: See TracChangeset for help on using the changeset viewer.