public inbox for [email protected]  
help / color / mirror / Atom feed
From: Dave Page <[email protected]>
To: Akshay Joshi <[email protected]>
Cc: pgadmin-hackers <[email protected]>
Cc: Murtuza Zabuawala <[email protected]>
Cc: Khushboo Vashi <[email protected]>
Cc: Syed Fahar Abbas <[email protected]>
Cc: Devrim GÜNDÜZ <[email protected]>
Subject: Re: v3.0 release on hold
Date: Thu, 22 Mar 2018 16:54:11 +0000
Message-ID: <CA+OCxoywJ1VxfRWO_=vnEg2t=c5vbMW7jc06b0Pd9F1aXHb15w@mail.gmail.com> (raw)
In-Reply-To: <CA+OCxoyL7dxbXjWx31y9jeKTPYYYdC4amsBr0Eshosvse0FZ8w@mail.gmail.com>
References: <CA+OCxozJH1+edWvECQtx0Y0gMbW7X1J-Tzbt8gZ+KLL_narS4A@mail.gmail.com>
	<CANxoLDcOkB35oPLqA5tkRU+7p+72mubLLajTyOY7iMcJOUifcQ@mail.gmail.com>
	<CA+OCxowO_JGDP7aZnKXPJLHNmN1PB6W7hgatZFmAd_8_ST=XEg@mail.gmail.com>
	<CANxoLDd9DOu2VKEmt6zTz-f=pTidv-O=FCTj7nZ53o=ZVE9ucQ@mail.gmail.com>
	<CA+OCxoyL7dxbXjWx31y9jeKTPYYYdC4amsBr0Eshosvse0FZ8w@mail.gmail.com>

Hi

On Thu, Mar 22, 2018 at 1:13 PM, Dave Page <[email protected]> wrote:

>
>>>>> 2) Starting a second instance of the app bundle on Mac doesn't always
>>>>> open a new pgAdmin window as it should. It works fine in the debugger, or
>>>>> if you start the app with a command like: "/Applications/pgAdmin\
>>>>> 4.app/Contents/MacOS/pgAdmin4". It doesn't work if you double-click
>>>>> the appbundle or use a command like "open /Applications/pgAdmin\ 4.app"
>>>>>
>>>>
>>>>   Still working on this, not found any solution yet.
>>>>
>>>
>>          Not able to figure out the solution yet. I have tried to debug
>> the code, but every time it will create a new instance(tray icon). Do I
>> need to look into the code or something related to app bundle may be some
>> settings in info.plist or any other pointer?
>>
>
> Have a look at the code around line 85 an onwards of pgAdmin4.cpp. It
> creates the shared memory interlock (and log/address files) based on the
> current username and a hash of the executable name/path. My suspicion is
> that the path hash (which is calculated from argv[0] on line 72) is for
> some reason getting a different value each time when launched via the
> Finder or "open", thus the interlock is failing.
>

So I took a look at this, and it seems the code is just fine. What is
happening is that macOS only allows a single instance of an app to run at
once. Whilst that is what we want of course, macOS is causing the new
instance to exit before it has a change to open a new pgAdmin window. Using
"open -n ..." or calling the embedded executable directly resolves that
issue.

So, there's another challenge to figure out... :-(

-- 
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


view thread (27+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: v3.0 release on hold
  In-Reply-To: <CA+OCxoywJ1VxfRWO_=vnEg2t=c5vbMW7jc06b0Pd9F1aXHb15w@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox