From: Giampaolo T. <Giampaolo@Tomassoni.biz> - 2010-05-13 16:07:07
|
Hi everybody, what is the best practice in handling suspended and interrupted requests? I would like not to respond to some kind of readdir() (or maybe opendir()) requests, in order to pause the accessing process until data for that dir is available (which may mean minutes or more). Now, since I don't want to assume anything about how the accessing application accomplishes its tasks, I should expect that some external event (a timer expiration or a signal) may eventually interrupt the opendir/readdir call. So, I'm of course going to use fuse_req_interrupt_func() in order to register an interrupt callback function when I don't want to respond to a request yet. My questions are: - when I finally have data available for the requested directory, do I only need to issue a fuse_reply_buf/fuse_reply_open to "restart" the suspended request? - when an interrupt happens on the suspended request, do I only need to forget it (i.e.: not reply anymore to it)? - I assume that there may be many outstanding requests on the very same channel and that not responding to one of it doesn't impair the others. Am i right? Thank you, Giampaolo |