From: Nikolaus R. <Nik...@ra...> - 2008-07-12 17:47:25
|
Miklos Szeredi <mi...@sz...> writes: > On Tue, 08 Jul 2008, Nikolaus Rath wrote: >> Hello, >> >> Once again I have a bunch of questions I couldn't find answers for in >> the docs. This time they're mostly about the python API though. > > I cannot answer the pythons ones. Oh, I though you wrote them as well since they're in the same CVS tree. Do you have any suggestions whom to contact with questions about them? >> - I noticed that calls to mkdir() come with a mode argument for which >> S_ISDIR(mode) is false. I therefore manually correct the mode to >> mode = mode | S_IFDIR. Is this a bug? > > No, I don't think so: passing S_IFDIR to mkdir would be redundant. Well, I assumed it to be set. Maybe you can apply this patch too? --- fuse.h 9 Jul 2008 17:05:01 -0000 1.130 +++ fuse.h 12 Jul 2008 17:24:49 -0000 @@ -106,7 +106,12 @@ */ int (*mknod) (const char *, mode_t, dev_t); - /** Create a directory */ + /** Create a directory + * + * Note that the mode argument may not have the type specification + * bits set, i.e. S_ISDIR(mode) can be false. To obtain the + * correct directory type bits use mode|S_IFDIR + * */ int (*mkdir) (const char *, mode_t); /** Remove a file */ >> - If a thread might be used for several requests, is there a way to >> execute code upon creation and termination of the thread? (both in >> the Python and C API) > > In the C API you can use thread specific variables, and you can > check if they have been assigned, To me it seems a bit awkward to check this at the beginning of every operation. Would you accept a patch that adds a specific initialization function? > and can specify a destructor which will be called when the thread > exits. So how do I do that? I assume it's not the destroy() function, or is it ("Called on filesystem exit")? Best, -Nikolaus -- »It is not worth an intelligent man's time to be in the majority. By definition, there are already enough people to do that.« -J.H. Hardy PGP fingerprint: 5B93 61F8 4EA2 E279 ABF6 02CF A9AD B7F8 AE4E 425C |