Revision 1881d2b88c4b889dcb95782ad4bc5395808438e9 authored by Junio C Hamano on 25 June 2014, 18:49:48 UTC, committed by Junio C Hamano on 25 June 2014, 18:49:48 UTC
"git status", even though it is a read-only operation, tries to
update the index with refreshed lstat(2) info to optimize future
accesses to the working tree opportunistically, but this could
race with a "read-write" operation that modify the index while it
is running.  Detect such a race and avoid overwriting the index.

* ym/fix-opportunistic-index-update-race:
  read-cache.c: verify index file before we opportunistically update it
  wrapper.c: add xpread() similar to xread()
2 parent s 85785df + 426ddee
Raw File
streaming.h
/*
 * Copyright (c) 2011, Google Inc.
 */
#ifndef STREAMING_H
#define STREAMING_H 1
#include "cache.h"

/* opaque */
struct git_istream;

extern struct git_istream *open_istream(const unsigned char *, enum object_type *, unsigned long *, struct stream_filter *);
extern int close_istream(struct git_istream *);
extern ssize_t read_istream(struct git_istream *, void *, size_t);

extern int stream_blob_to_fd(int fd, const unsigned char *, struct stream_filter *, int can_seek);

#endif /* STREAMING_H */
back to top