Overview
Comment: | Implemented basic close mechanism |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA1: | e236f4717a9453a6eb08312a83040bb41cff5d68 |
User & Date: | rkeene on 2014-09-10 07:52:40 |
Other Links: | manifest | tags |
Context
2014-09-10
| ||
07:54 | Updated to not leak file descriptors for invalid sites check-in: 16162d46b5 user: rkeene tags: trunk | |
07:52 | Implemented basic close mechanism check-in: e236f4717a user: rkeene tags: trunk | |
07:47 | Removed dead code check-in: fdd60b8c90 user: rkeene tags: trunk | |
Changes
Modified appfsd.c from [3805f48036] to [343214a386].
778
779
780
781
782
783
784
785
786
787
788
789
790
791
...
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
|
return(-EIO); } fi->fh = fh; return(0); } static int appfs_fuse_read(const char *path, char *buf, size_t size, off_t offset, struct fuse_file_info *fi) { off_t lseek_ret; ssize_t read_ret; APPFS_DEBUG("Enter (path = %s, ...)", path); ................................................................................ read_ret = read(fi->fh, buf, size); return(read_ret); } static struct fuse_operations appfs_oper = { .getattr = appfs_fuse_getattr, .readdir = appfs_fuse_readdir, .open = appfs_fuse_open, .read = appfs_fuse_read }; int main(int argc, char **argv) { const char *cachedir = APPFS_CACHEDIR; char dbfilename[1024]; int pthread_ret, snprintf_ret, sqlite_ret; |
>
>
>
>
>
>
>
>
>
>
>
|
|
|
>
|
|
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
...
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
|
return(-EIO); } fi->fh = fh; return(0); } static int appfs_fuse_close(const char *path, struct fuse_file_info *fi) { int close_ret; close_ret = close(fi->fh); if (close_ret != 0) { return(-EIO); } return(0); } static int appfs_fuse_read(const char *path, char *buf, size_t size, off_t offset, struct fuse_file_info *fi) { off_t lseek_ret; ssize_t read_ret; APPFS_DEBUG("Enter (path = %s, ...)", path); ................................................................................ read_ret = read(fi->fh, buf, size); return(read_ret); } static struct fuse_operations appfs_oper = { .getattr = appfs_fuse_getattr, .readdir = appfs_fuse_readdir, .open = appfs_fuse_open, .release = appfs_fuse_close, .read = appfs_fuse_read }; int main(int argc, char **argv) { const char *cachedir = APPFS_CACHEDIR; char dbfilename[1024]; int pthread_ret, snprintf_ret, sqlite_ret; |