Array of Pipe: Будет ли родительский процесс загружать массив достаточно быстро?

Иногда другой клиент Git может вмешиваться при наличии нескольких установленных.

Т.е. убедитесь, что с Диспетчером задач или Get-Process, что TGitCache из TortoiseGit не активен в фоновом режиме.

0
задан DigitalSoul 18 March 2019 в 01:56
поделиться

1 ответ

Это не работает.

while (read(fps[i][0], &each_record_read, sizeof(struct rec)) > 0)

не так, и вы можете прочитать короткое. Когда мы имеем дело со структурированным каналом, мы обычно используем что-то вроде этого:

ssize_t read_block(int source, void *buffer, ssize_t len)
{
    char *work = buffer;
    while (len) {
        ssize_t delta = read(source, work, len);
        if (delta < 0) return -1; /* ERROR */
        if (delta == 0) return 0; /* EOF */
        work += delta;
        len -= delta;
    }
}

/* ... */

    while (read_block(fps[i][0], &each_record_read, sizeof(struct rec)) > 0){

Теперь это работает.

0
ответ дан Joshua 18 March 2019 в 01:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: