[haiku-commits] haiku: hrev53311 - src/servers/app

  • From: waddlesplash <waddlesplash@xxxxxxxxx>
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Sun, 28 Jul 2019 15:14:38 -0400 (EDT)

hrev53311 adds 2 changesets to branch 'master'
old head: f5cdaacd2036a243cfd416f1cc7c9684a3ce4c5b
new head: bae7a949c5efffca8874c3cdcfad532557d583f7
overview: 
https://git.haiku-os.org/haiku/log/?qt=range&q=bae7a949c5ef+%5Ef5cdaacd2036

----------------------------------------------------------------------------

1b333570b575: app_server: Use RW_LOCK_FLAG_CLONE_NAME in MultiLocker.
  
  This behavior was always used by the semaphore-based MultiLocker,
  and it seems a good chunk of code depends on this, so we need
  to preserve the behavior.

bae7a949c5ef: app_server: We must clone the name in MessageLooper().
  
  A number of things that pass it in have it as a stack temporary.

                              [ Augustin Cavalier <waddlesplash@xxxxxxxxx> ]

----------------------------------------------------------------------------

2 files changed, 4 insertions(+), 2 deletions(-)
src/servers/app/MessageLooper.cpp | 3 ++-
src/servers/app/MultiLocker.cpp   | 3 ++-

############################################################################

Commit:      1b333570b575022a58cb47959998b0313c0f5c99
URL:         https://git.haiku-os.org/haiku/commit/?id=1b333570b575
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Sun Jul 28 18:54:25 2019 UTC

app_server: Use RW_LOCK_FLAG_CLONE_NAME in MultiLocker.

This behavior was always used by the semaphore-based MultiLocker,
and it seems a good chunk of code depends on this, so we need
to preserve the behavior.

----------------------------------------------------------------------------

diff --git a/src/servers/app/MultiLocker.cpp b/src/servers/app/MultiLocker.cpp
index 3e758f5ed4..f7f5533859 100644
--- a/src/servers/app/MultiLocker.cpp
+++ b/src/servers/app/MultiLocker.cpp
@@ -34,7 +34,8 @@ MultiLocker::MultiLocker(const char* baseName)
        fInit(B_NO_INIT)
 {
 #if !DEBUG
-       rw_lock_init(&fLock, baseName != NULL ? baseName : "some MultiLocker");
+       rw_lock_init_etc(&fLock, baseName != NULL ? baseName : "some 
MultiLocker",
+               baseName != NULL ? RW_LOCK_FLAG_CLONE_NAME : 0);
        fInit = B_OK;
 #else
        // we are in debug mode!

############################################################################

Revision:    hrev53311
Commit:      bae7a949c5efffca8874c3cdcfad532557d583f7
URL:         https://git.haiku-os.org/haiku/commit/?id=bae7a949c5ef
Author:      Augustin Cavalier <waddlesplash@xxxxxxxxx>
Date:        Sun Jul 28 19:03:42 2019 UTC

app_server: We must clone the name in MessageLooper().

A number of things that pass it in have it as a stack temporary.

----------------------------------------------------------------------------

diff --git a/src/servers/app/MessageLooper.cpp 
b/src/servers/app/MessageLooper.cpp
index 2038cf9aa2..fdff694063 100644
--- a/src/servers/app/MessageLooper.cpp
+++ b/src/servers/app/MessageLooper.cpp
@@ -18,7 +18,7 @@
 MessageLooper::MessageLooper(const char* name)
        :
        BLocker(name),
-       fName(name),
+       fName(strdup(name)),
        fThread(-1),
        fQuitting(false),
        fDeathSemaphore(-1)
@@ -28,6 +28,7 @@ MessageLooper::MessageLooper(const char* name)
 
 MessageLooper::~MessageLooper()
 {
+       free((void*)fName);
 }
 
 


Other related posts:

  • » [haiku-commits] haiku: hrev53311 - src/servers/app - waddlesplash