Re: [vdagent-win PATCH 09/13] file_xfer: Use shared_ptr to simplify memory management

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 28, 2018 at 09:33:11AM -0400, Frediano Ziglio wrote:
> > 
> > On Mon, May 28, 2018 at 09:58:02AM +0100, Frediano Ziglio wrote:
> > > Clear automatically tasks items.
> > > 
> > > Signed-off-by: Frediano Ziglio <fziglio@xxxxxxxxxx>
> > > ---
> > >  vdagent/file_xfer.cpp | 25 ++++---------------------
> > >  vdagent/file_xfer.h   |  3 ++-
> > >  2 files changed, 6 insertions(+), 22 deletions(-)
> > > 
> > > diff --git a/vdagent/file_xfer.cpp b/vdagent/file_xfer.cpp
> > > index e96065b..71b56ed 100644
> > > --- a/vdagent/file_xfer.cpp
> > > +++ b/vdagent/file_xfer.cpp
> > > @@ -41,19 +41,11 @@
> > >  
> > >  void FileXfer::reset()
> > >  {
> > > -    FileXferTasks::iterator iter;
> > > -    FileXferTask* task;
> > > -
> > > -    for (iter = _tasks.begin(); iter != _tasks.end(); iter++) {
> > > -        task = iter->second;
> > > -        delete task;
> > > -    }
> > >      _tasks.clear();
> > >  }
> > >  
> > >  FileXfer::~FileXfer()
> > >  {
> > > -    reset();
> > >  }
> > >  
> > >  void FileXfer::handle_start(VDAgentFileXferStartMessage* start,
> > > @@ -63,7 +55,6 @@ void FileXfer::handle_start(VDAgentFileXferStartMessage*
> > > start,
> > >      TCHAR file_path[MAX_PATH];
> > >      char file_name[MAX_PATH];
> > >      ULARGE_INTEGER free_bytes;
> > > -    FileXferTask* task;
> > >      uint64_t file_size;
> > >      HANDLE handle;
> > >      AsUser as_user;
> > > @@ -146,7 +137,7 @@ void
> > > FileXfer::handle_start(VDAgentFileXferStartMessage* start,
> > >          vd_printf("Failed creating %ls. More than 63 copies exist?",
> > >          file_path);
> > >          return;
> > >      }
> > > -    task = new FileXferTask(handle, file_size, file_path);
> > > +    auto task = std::make_shared<FileXferTask>(handle, file_size,
> > > file_path);
> > 
> > For what it's worth, I'd stick to FileXferTask * here, and below where
> > you add another 'auto'
> > 
> 
> No, here is not possible. make_shared returns a std::shard_ptr<FileXferTask>,
> not a FileXferTask,

Ah ok, never mind then, I did not check what this was returning exactly,
and assumed some automatic casting would happen :)

Christophe

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]