Я пока не могу – мне тут valgrind какую-то дичь верещит.

Есть такой вот код:

struct entry_s {

    void (*handler) (void);

    struct entry_s *next;

};

typedef entry_s entry_t;


typedef struct {

    entry_t *first;
    entry_t *last;

} entries_t;


// сюда они добавляются в начале рантайма
static entries_t entries = { NULL, NULL };


// где-то ниже по коду дела

entry_t *entry = entries.first;

while (entry) {

    entry->handler();

    entry = entry->next; // valgrind: Invalid read of size 8
}

Вот скажи мне, как неойтишник, какого хуя ему не нравится?

  • deep-purpleOP
    link
    fedilink
    arrow-up
    0
    ·
    3 years ago

    Чот отдельным минимальным примером не воспроизводится… Ну что ж, будем дебажить дальше. Память то может портить кто-то другой. А валгринд лишь указывает на то, что увидел.

    • ThePlayerZero
      link
      fedilink
      arrow-up
      0
      ·
      3 years ago

      Чот отдельным минимальным примером не воспроизводится… Ну что ж, будем дебажить дальше. Память то может портить кто-то другой.

      Чёт вспомнил один эпичный тред с лора со схожей завязкой

      https://www.linux.org.ru/forum/development/11744063

      приятного чтения

      • ThePlayerZero
        link
        fedilink
        arrow-up
        0
        ·
        3 years ago

        Посмотрел знакомых мне пятизвёздочников в той теме… кого-то даже знаю лично в реале, с другими просто были хорошие обсуждения, узнавал что-то новое или наоборот…

        monk ★★★★★
        
        AIv ★★★★★
        
        Iron_Bug ★★★★★
        
        eao197 ★★★★★
        
        AlexVR ★★★★★
        
        tailgunner ★★★★★
        
        (...)
        

        Позову ли я их на LT? Сейчас точно нет, банально стыдно звать в пустой (перекати-поле.jpg) /Dev или в свино-гомосячий /Клуб

        Такие дела 😔