Question about GHI #508 - Do I understand this task correctly? #516
Unanswered
reactive-firewall
asked this question in
Q&A
Replies: 1 comment
-
cc @mszoek |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Originally miss-placed question from GH issue comment
sorry I saw the code-of-conduct a bit late, this is a re-post of a question I asked about GitHub Issue #508
TL;DR - is this just about the transparency part of the call?
In regards to headless apps like an Objective-C CLI tool:
My reasoning (a sort-of Rationale)
While I'm confused by (the part around lines 205-207):
ravynos/Frameworks/Foundation/NSProcessInfo.m
Lines 202 to 225 in d9cd8da
which avoids calling initializing code for new process except for
__apple__
and__ravynos__
beforehand, but if all this is doing is the bootstrap for the Darwinstrings we are basicly following CocoTron's example (or did they follow RavynOS 🤷) of separating out the darwin string stuff:https://github.com/cjwl/cocotron/blob/9cda7d719428a8ff940b134e391e511104ee0b5d/Foundation/NSString/NSDarwinString.h#L1-L19
this is assuming the rest is just setting up the constant immutable/builtin/darwin strings for the app process? Or did I miss something big?
my assumptions
my understanding from CLI tools on Apple's implementation (e.g., where the most of my own Objective-C experience comes from) is that the main function of an app need only setup a release-pool (typically
@autorelease
these days) and then launch the program's process (often via appKit for nibs/GUI) and the Objective-C libraries (typically linked via Foundation or<objc/*.h>
) e.g.,https://github.com/kendrick-walls-work/XCMBuild/blob/3d767d2e5f0ffe031ff136970a493b162daba797/XCMBuild/XCMake/main.m#L46-L56
Which from the look of
__ravynOS__
code in my neophyte 👀 (eyes) means the string stuff for constant strings of processes in memory (I guess for debuggers and inter-process stuff?) for nib-less apps should just be handled by importing the__ravynOS__
Foundation to leverage the libmain:ravynos/Frameworks/Foundation/platform_bsd/libmain.m
Line 66 in d9cd8da
(which calls
__NSInitializeProcess
already)Conclusion
Thus ensuring
Foundation
transparently calls its ownlibmain
when the linking code (e.g., where it#import <NSFoundation/NSFoundation.h>
) has no nib-file is enough; and this GHI's goal is about how that responsibility should be ensured byAppKit
?In summation: do I understand this issue correctly, or have I gone astray?
Important
I'm still unfamiliar with much of the RavynOS project and appreciate your efforts and patience. 🙇
Beta Was this translation helpful? Give feedback.
All reactions