Ejemplo n.º 1
0
static int disk_img_open(const char             *path, 
                         struct fuse_file_info  *fi)
{
    if(strcasecmp(path, disk_img_data.raw_filename) != 0)
        return -ENOENT;

    /*if((fi->flags & 3) != O_RDWR)
    {
        XDBG("FS open unsuccessful");
        return -EACCES;
    }
    */
    XDBG("FS open successful");
    return 0;
}
Ejemplo n.º 2
0
static int disk_img_readdir(const char      *path, 
                            void            *buf, 
                            fuse_fill_dir_t filler,
                            off_t           offset, 
                            struct fuse_file_info *fi)
{
    (void) offset;
    (void) fi;
    
    if(strcasecmp(path, "/") != 0)
        return -ENOENT;
    
    filler(buf, ".", NULL, 0);
    filler(buf, "..", NULL, 0);
    filler(buf, disk_img_data.raw_filename + 1, NULL, 0);
    XDBG(" ls on dir ");
    return 0;
}
Ejemplo n.º 3
0
//主线程
void LogGate::v_timetick(QWORD usec)
{
  DWORD cur = usec/1000/1000;

  _close_iter tmp_close;
  NetProcessor *clo = 0;
  {
    ScopeWriteLock swl(_close_critical);
    for (_close_iter it = _close_list.begin(); it != _close_list.end(); )
    {
      tmp_close = it++;

      if (tmp_close->second + 3 <= cur)
      {
        clo = tmp_close->first;
        v_CloseNp(clo);

        XDBG("[%s],_close_list 删除连接,%s(%llu),%p", serverName, clo->name(), clo->id(), clo);
        _close_list.erase(tmp_close);
        SAFE_DELETE(clo);
      }
    }
  }
}