On Thu, Mar 22, 2018 at 10:24 PM, Dave Page <dp...@pgadmin.org> wrote:
> Hi > > On Thu, Mar 22, 2018 at 1:13 PM, Dave Page <dp...@pgadmin.org> 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... :-( > OK. Will try to figure that out. > > -- > Dave Page > Blog: http://pgsnake.blogspot.com > Twitter: @pgsnake > > EnterpriseDB UK: http://www.enterprisedb.com > The Enterprise PostgreSQL Company > -- *Akshay Joshi* *Sr. Software Architect * *Phone: +91 20-3058-9517Mobile: +91 976-788-8246*