[vlc-devel] [RFC] [PATCH 0/4] VLC object resource tracking

Rémi Denis-Courmont remi at remlab.net
Sat Jun 17 21:39:11 CEST 2017


	Hello,

This adds a simple resource tracking stack for module instances, with view to 
simplifying clean-up paths (especially poorly tested error handling).

What this is:
- A simple way to tie resources to a module instance, so they get freed 
automatically.
- A very similar (though much simpler) system than Linux kernel devres.

What this is NOT:
- A garbage collector.
- A complete patchset. Only usage example is malloc/calloc for access p_sys.

----------------------------------------------------------------
Rémi Denis-Courmont (4):
      module: pass VLC object to vlc_module_unload()
      objres: introduce object resources tracking
      objres: add simple memory allocation
      access: allocate p_sys vlc_malloc/vlc_calloc

 include/vlc_modules.h           |   5 +-
 include/vlc_objects.h           |   4 +
 modules/access/alsa.c           |   6 +-
 modules/access/attachment.c     |   4 +-
 modules/access/avio.c           |  28 ++-----
 modules/access/bluray.c         |   3 +-
 modules/access/cdda.c           |  18 +----
 modules/access/concat.c         |   3 +-
 modules/access/dc1394.c         |   7 +-
 modules/access/directory.c      |   4 +-
 modules/access/dv.c             |   3 +-
 modules/access/file.c           |   3 +-
 modules/access/ftp.c            |   7 +-
 modules/access/http.c           |   6 +-
 modules/access/idummy.c         |  14 +---
 modules/access/imem-access.c    |  10 +--
 modules/access/imem.c           |   3 +-
 modules/access/jack.c           |   9 +--
 modules/access/nfs.c            |   5 +-
 modules/access/oss.c            |   3 +-
 modules/access/pulse.c          |   7 +-
 modules/access/rdp.c            |   5 +-
 modules/access/satip.c          |   4 +-
 modules/access/sdp.c            |  13 +--
 modules/access/sftp.c           |   3 +-
 modules/access/shm.c            |  21 ++---
 modules/access/smb.c            |   5 +-
 modules/access/timecode.c       |  14 +---
 modules/access/udp.c            |   7 +-
 modules/access/vdr.c            |   3 +-
 modules/access/vnc.c            |  15 +---
 modules/access/wasapi.c         |   4 +-
 modules/audio_output/mmdevice.c |   2 +-
 modules/audio_output/winstore.c |   2 +-
 modules/codec/avcodec/va.c      |   2 +-
 src/Makefile.am                 |   1 +
 src/libvlc.h                    |  42 ++++++++++
 src/libvlccore.sym              |   2 +
 src/misc/messages.c             |   4 +-
 src/misc/objects.c              |   3 +
 src/misc/objres.c               | 170 +++++++++++++++++++++++++++++++++++++++
+
 src/misc/variables.h            |   5 ++
 src/modules/modules.c           |  13 ++-
 src/network/tls.c               |   2 +-
 src/video_output/window.c       |   2 +-
 45 files changed, 304 insertions(+), 192 deletions(-)
 create mode 100644 src/misc/objres.c

-- 
雷米‧德尼-库尔蒙
https://www.remlab.net/



More information about the vlc-devel mailing list