annotate lib/swig/swigwin-2.0.11/CCache/debian/patches/05_nfs_fix.diff @ 2082:c15871e2d743

wakingsound and runingsound
author Ritor1
date Fri, 06 Dec 2013 23:35:34 +0600
parents b3009adc0e2f
children
rev   line source
1899
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
1 --- ccache.1.orig 2007-05-20 17:30:57.000000000 +1200
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
2 +++ ccache.1 2007-05-20 17:31:27.000000000 +1200
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
3 @@ -367,12 +367,6 @@
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
4 .IP o
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
5 ccache avoids a double call to cpp on a cache miss
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
6 .PP
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
7 -.SH "BUGS"
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
8 -.PP
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
9 -When the cache is stored on an NFS filesystem, the filesystem must be
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
10 -exported with the \fBno_subtree_check\fP option to make renames between
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
11 -directories reliable\&.
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
12 -.PP
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
13 .SH "CREDITS"
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
14 .PP
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
15 Thanks to the following people for their contributions to ccache
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
16 --- util.c.patched 2007-05-20 18:19:11.000000000 +1200
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
17 +++ util.c 2007-05-20 18:20:55.000000000 +1200
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
18 @@ -58,9 +58,26 @@
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
19 }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
20 }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
21
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
22 +static int safe_rename(const char* oldpath, const char* newpath)
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
23 +{
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
24 + /* safe_rename is for creating entries in the cache.
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
25 +
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
26 + Works like rename(), but it never overwrites an existing
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
27 + cache entry. This avoids corruption on NFS. */
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
28 + int status = link( oldpath, newpath );
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
29 + if( status == 0 || errno == EEXIST )
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
30 + {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
31 + return unlink( oldpath );
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
32 + }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
33 + else
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
34 + {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
35 + return -1;
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
36 + }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
37 +}
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
38 +
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
39 /* move a file using rename */
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
40 int move_file(const char *src, const char *dest) {
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
41 - return rename(src, dest);
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
42 + return safe_rename(src, dest);
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
43 }
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
44
b3009adc0e2f Adding swig, gitignore, hgignore
Nomad
parents:
diff changeset
45 /* copy a file - used when hard links don't work