Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
647d6d85
Commit
647d6d85
authored
Aug 30, 2008
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Initialize messages stacks inside the message bank
parent
7f2c9f9c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
18 deletions
+21
-18
src/libvlc.h
src/libvlc.h
+0
-12
src/misc/messages.c
src/misc/messages.c
+21
-2
src/misc/threads.c
src/misc/threads.c
+0
-4
No files found.
src/libvlc.h
View file @
647d6d85
...
...
@@ -95,21 +95,9 @@ void msg_Flush (libvlc_int_t *);
void
msg_Destroy
(
libvlc_int_t
*
);
/** Internal message stack context */
typedef
struct
{
int
i_code
;
char
*
psz_message
;
}
msg_context_t
;
void
msg_StackSet
(
int
,
const
char
*
,
...
);
void
msg_StackAdd
(
const
char
*
,
...
);
const
char
*
msg_StackMsg
(
void
);
/** The global thread var for msg stack context
* We store this as a static global variable so we don't need a vlc_object_t
* everywhere.
* This key is created in vlc_threads_init and is therefore ready to use at
* the very beginning of the universe */
extern
vlc_threadvar_t
msg_context_global_key
;
void
msg_StackDestroy
(
void
*
);
/*
...
...
src/misc/messages.c
View file @
647d6d85
...
...
@@ -55,6 +55,15 @@
#include <vlc_charset.h>
#include "../libvlc.h"
typedef
struct
{
int
i_code
;
char
*
psz_message
;
}
msg_context_t
;
static
vlc_threadvar_t
msg_context
;
static
uintptr_t
banks
=
0
;
/*****************************************************************************
* Local macros
*****************************************************************************/
...
...
@@ -100,6 +109,11 @@ void msg_Create (libvlc_int_t *p_libvlc)
CREATE_ALWAYS
,
0
,
NULL
);
SetFilePointer
(
QUEUE
.
logfile
,
0
,
NULL
,
FILE_END
);
#endif
vlc_mutex_t
*
lock
=
var_AcquireMutex
(
"msg-stack"
);
if
(
banks
++
==
0
)
vlc_threadvar_create
(
&
msg_context
,
NULL
);
vlc_mutex_unlock
(
lock
);
}
/**
...
...
@@ -129,6 +143,11 @@ void msg_Destroy (libvlc_int_t *p_libvlc)
FlushMsg
(
&
QUEUE
);
vlc_mutex_t
*
lock
=
var_AcquireMutex
(
"msg-stack"
);
if
(
--
banks
==
0
)
vlc_threadvar_delete
(
&
msg_context
);
vlc_mutex_unlock
(
lock
);
#ifdef UNDER_CE
CloseHandle
(
QUEUE
.
logfile
);
#endif
...
...
@@ -608,12 +627,12 @@ static void PrintMsg ( vlc_object_t * p_this, msg_item_t * p_item )
static
msg_context_t
*
GetContext
(
void
)
{
msg_context_t
*
p_ctx
=
vlc_threadvar_get
(
&
msg_context
_global_key
);
msg_context_t
*
p_ctx
=
vlc_threadvar_get
(
&
msg_context
);
if
(
p_ctx
==
NULL
)
{
MALLOC_NULL
(
p_ctx
,
msg_context_t
);
p_ctx
->
psz_message
=
NULL
;
vlc_threadvar_set
(
&
msg_context
_global_key
,
p_ctx
);
vlc_threadvar_set
(
&
msg_context
,
p_ctx
);
}
return
p_ctx
;
}
...
...
src/misc/threads.c
View file @
647d6d85
...
...
@@ -66,8 +66,6 @@ libvlc_global_data_t *vlc_global( void )
return
p_root
;
}
vlc_threadvar_t
msg_context_global_key
;
#if defined(LIBVLC_USE_PTHREAD)
static
inline
unsigned
long
vlc_threadid
(
void
)
{
...
...
@@ -178,7 +176,6 @@ int vlc_threads_init( void )
}
/* We should be safe now. Do all the initialization stuff we want. */
vlc_threadvar_create
(
&
msg_context_global_key
,
msg_StackDestroy
);
#ifndef LIBVLC_USE_PTHREAD_CANCEL
vlc_threadvar_create
(
&
cancel_key
,
free
);
#endif
...
...
@@ -214,7 +211,6 @@ void vlc_threads_end( void )
#ifndef LIBVLC_USE_PTHREAD
vlc_threadvar_delete
(
&
cancel_key
);
#endif
vlc_threadvar_delete
(
&
msg_context_global_key
);
}
i_initializations
--
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment