title: weird behavior when running FUSE c++ code
body: <p>I have tried running basic FUSE code in C++.
  the code is based on BBFS code, but is very lite:</p>
  
  <pre><code>struct fuse_operations oper;
  int main(int argc, char* argv[])
  {
      // Initialise the operations
      oper.getattr = caching_getattr;
      oper.access = caching_access;
      //... some more here
  
      int fuse_stat = fuse_main(argc, argv, &amp;oper, NULL);
      return fuse_stat;
  }
  </code></pre>
  
  <p>the functions are implemented and only logs to a file their name.</p>
  
  <p>the behavior I see when I run this code is very weird: the application finishes its run, but the FUSE is not running. it behaves the same until I call the 'unmount' from the shell.</p>
  
  <p>at that moment (the system tries to destroy the mount), I see in my log file that the <code>init()</code> and <code>destroy()</code> functions are called.</p>
  
  <p>any ideas why? is there anything i need to do in order for the <code>init()</code> to run immediately?</p>