Иногда другой клиент Git может вмешиваться при наличии нескольких установленных.
Т.е. убедитесь, что с Диспетчером задач или Get-Process
, что TGitCache
из TortoiseGit не активен в фоновом режиме.
Это не работает.
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){
Теперь это работает.