The stack file isn’t a package. If using an old format, then it may have a resource fork. The stack is read into memory and the file closed (not sure how resource fork stuff is handled though).
On Wed, Oct 25, 2017 at 12:16 PM Mike Kerner via use-livecode < use-livecode@lists.runrev.com> wrote: > I was thinking about the mechanics of this. A stack is really a > folder/bundle, at least on macos/ios, so I wonder if parts of the stack > bundle are open and parts are not, which could really make things > problematic... > > On Wed, Oct 25, 2017 at 1:12 PM, Bob Sneidar via use-livecode < > use-livecode@lists.runrev.com> wrote: > > > Okay I think I see what is going on here. A Livecode stack, though it > > appears to be open in the IDE, is NOT open from the OS point of view. To > > test this, create a new livecode stack, save it, then attempt to delete > it > > in the OS while it's still open in the IDE. If my theory is correct, you > > should have no problem doing so. > > > > I did this and sure enough, I was able to put the file in the trash, AND > > THEN EMPTY IT! But when I saved again in the IDE, it recreated the file. > > > > Bob S > > > > > > > On Oct 25, 2017, at 09:26 , Mike Kerner via use-livecode < > > use-livecode@lists.runrev.com> wrote: > > > > > > Now if what you're suggesting is that the server OS should manage the > > > access process so that you cannot have two simultaneous accesses, I > would > > > agree, but my experience has been that it doesn't always work that way. > > > > > > On Wed, Oct 25, 2017 at 12:19 PM, Mike Kerner < > mikeker...@roadrunner.com > > > > > > wrote: > > > > > >> I'm saying that it is possible to access the same file from the same > > share > > >> from multiple machines and leave the file in an indeterminate or > > corrupted > > >> state, afterwards, especially if both machines accessing the share are > > >> trying to save changes to said file. The purpose of the semaphore > > would be > > >> to stop the simultaneous access of the file from multiple machines. > > >> > > >> > > >> On Wed, Oct 25, 2017 at 11:54 AM, Bob Sneidar via use-livecode < > > >> use-livecode@lists.runrev.com> wrote: > > >> > > >>> I thought the OS takes care of that. Are we saying that when saving > to > > a > > >>> network share this process of creating the semaphore file does not > > happen? > > >>> > > >>> Bob S > > >>> > > >>> > > >>>> On Oct 24, 2017, at 16:01 , Mike Kerner via use-livecode < > > >>> use-livecode@lists.runrev.com> wrote: > > >>>> > > >>>> Possible solutions: > > >>>> 1) Do what LibreOffice does. Create an invisible semaphore file > that > > >>> the > > >>>> stack checks for on open. If it exists, the open is rejected and > the > > >>> stack > > >>>> immediately closes. This will keep secondary and simultaneous users > > >>> from > > >>>> getting their grubby paws into the stack before the save/sync is > > >>> complete. > > >>>> As part of this solution, I would suggest any quit/closeStack event > > has > > >>> a > > >>>> built in delay to confirm that the sync/save has completed before > > >>> removing > > >>>> the semaphore. This is still tricky as you are at the mercy of the > > >>>> sync/save tool, however, if you're clever, you can use the service's > > >>> api to > > >>>> check, separately, if the sync/save is complete before you let LC > > finish > > >>>> closing down. > > >>>> 2) Split the data out into a separate data file or better into a > > >>> database > > >>>> (because most databases use transactions, with greatly minimizes the > > >>>> probability of corruption). > > >>> > > >>> > > >>> _______________________________________________ > > >>> use-livecode mailing list > > >>> use-livecode@lists.runrev.com > > >>> Please visit this url to subscribe, unsubscribe and manage your > > >>> subscription preferences: > > >>> http://lists.runrev.com/mailman/listinfo/use-livecode > > >>> > > >> > > >> > > >> > > >> -- > > >> On the first day, God created the heavens and the Earth > > >> On the second day, God created the oceans. > > >> On the third day, God put the animals on hold for a few hours, > > >> and did a little diving. > > >> And God said, "This is good." > > >> > > > > > > > > > > > > -- > > > On the first day, God created the heavens and the Earth > > > On the second day, God created the oceans. > > > On the third day, God put the animals on hold for a few hours, > > > and did a little diving. > > > And God said, "This is good." > > > _______________________________________________ > > > use-livecode mailing list > > > use-livecode@lists.runrev.com > > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > _______________________________________________ > > use-livecode mailing list > > use-livecode@lists.runrev.com > > Please visit this url to subscribe, unsubscribe and manage your > > subscription preferences: > > http://lists.runrev.com/mailman/listinfo/use-livecode > > > > > > -- > On the first day, God created the heavens and the Earth > On the second day, God created the oceans. > On the third day, God put the animals on hold for a few hours, > and did a little diving. > And God said, "This is good." > _______________________________________________ > use-livecode mailing list > use-livecode@lists.runrev.com > Please visit this url to subscribe, unsubscribe and manage your > subscription preferences: > http://lists.runrev.com/mailman/listinfo/use-livecode > _______________________________________________ use-livecode mailing list use-livecode@lists.runrev.com Please visit this url to subscribe, unsubscribe and manage your subscription preferences: http://lists.runrev.com/mailman/listinfo/use-livecode