rem: node->link_valid = time(NULL) + CACHE_TIMEOUT;
add: node->link_valid = time(NULL) + cache_link_timeout;
context: static void cache_add_link(const char *path, const char *link, size_t size){    struct node *node;    time_t now;    pthread_mutex_lock(&cache_lock);    node = cache_get(path);    now = time(NULL);    g_free(node->link);    node->link = g_strndup(link, my_strnlen(link, size-1));    node->link_valid = time(NULL) + CACHE_TIMEOUT;    if (node->link_valid > node->valid)        node->valid = node->link_valid;    cache_clean();    pthread_mutex_unlock(&cache_lock);}